这题我tm服了,考试中途肯定添加了一组数据,提交完A了之后,还有20min结束,感觉写不了下一个题了,就下班了,谁知道它有填了一组测试数据把我的乱搞给卡过去了,我又被fst了???然后我有乱改了一下又A了,服了可惜排名掉了好多~~


D. Let’s Go Hiking

预处理几个数组乱搞讨论讨论即可。

#define IO ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr)
#pragma GCC optimize(2)
#include<set>
#include<map>
#include<cmath>
#include<stack>
#include<queue>
#include<bitset>
#include<random>
#include<bitset>
#include<string>
#include<vector>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<unordered_map>
#include<unordered_set>
using namespace std;
using ll=long long;
using pii=pair<int,int>;
using pli=pair<ll,int>;
constexpr ll mod=1e9+7;
constexpr int N=100010;
int a[N];
int n;
int fa[N];
int find(int x){return fa[x]==x?x:fa[x]=find(fa[x]);}
int l[N],r[N];
int L[N],R[N];
int mL[N],mR[N];
int Ml[N],Mr[N];
void init(int n)
{for(int i=1;i<=n;i++) fa[i]=i;for(int i=2;i<=n;i++)if(a[i]>a[i-1]) fa[i]=find(fa[i-1]);for(int i=1;i<=n;i++) l[i]=find(fa[i]);for(int i=1;i<=n;i++) fa[i]=i;for(int i=n-1;i>=1;i--)if(a[i]>a[i+1]) fa[i]=find(fa[i+1]);for(int i=1;i<=n;i++) r[i]=find(fa[i]);for(int i=1;i<=n;i++) fa[i]=i;for(int i=2;i<=n;i++)if(a[i]<a[i-1]) fa[i]=find(fa[i-1]);for(int i=1;i<=n;i++) L[i]=find(fa[i]);for(int i=1;i<=n;i++) fa[i]=i;for(int i=n-1;i>=1;i--)if(a[i]<a[i+1]) fa[i]=find(fa[i+1]);for(int i=1;i<=n;i++) R[i]=find(fa[i]);for(int i=1;i<=n;i++) mL[i]=max(mL[i-1],i-L[i]+1);for(int i=n;i>=1;i--) mR[i]=max(mR[i+1],R[i]-i+1);for(int i=1;i<=n;i++) Ml[i]=max(Ml[i-1],i-l[i]+1);for(int i=n;i>=1;i--) Mr[i]=max(Mr[i+1],r[i]-i+1);}
int main()
{//IO;int T=1;//cin>>T;while(T--){cin>>n;for(int i=1;i<=n;i++) cin>>a[i];init(n);int res=0;for(int i=1;i<=n;i++){int x=l[i],y=r[i];int ml=i-l[i]+1;int mr=r[i]-i+1;if(max(ml,mr)<=max(mL[x],Ml[x])||max(ml,mr)<=max(Mr[y],mR[y])) continue;if(mL[x]==x-L[x]+1){if(max(ml-1,mr)<=mL[x]) continue;}if(mR[y]==R[y]-y+1){if(max(ml,mr-1)<=mR[y]) continue;}if(mr%2==0){if(mr>=ml) continue;}else{if(mr-1>=ml) continue;}if(ml%2==0){if(ml>=mr) continue;}else{if(ml-1>=mr) continue;}if(mr/2>=ml) continue;if(ml/2>=mr) continue;res++;}cout<<res<<'\n';}return 0;
}

我为啥现在那么喜欢写假代码???
要加油哦~

codeforces1496 D. Let‘s Go Hiking(乱搞+讨论)相关推荐

  1. AcWing 397. 逃不掉的路(边双连通分量缩点成树 + 树链剖分乱搞)

    整理的算法模板合集: ACM模板 我们知道在同一个边双连通分量中的点没有必经边(因为至少有两条分离的路径). 所以我们直接tarjan求出桥后缩点,然后求一下树上两点间的距离即可. 那么如何求树上两点 ...

  2. bzoj 1050: [HAOI2006]旅行comf(codevs.cn 1001 舒适的路线) 快排+并查集乱搞

    没用的话:好像很久没发博客了,主要是懒太蒟找不到水题.我绝对没弃坑...^_^ 还用些话:本文为博主原创文章,若转载请注明原网址和作者. 进入正题: 先pa网址: bzoj :http://www.l ...

  3. BZOJ-1800 飞行棋 数学+乱搞

    这道题感觉就是乱搞,O(n^4)都毫无问题 1800: [Ahoi2009]fly 飞行棋 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 1172 So ...

  4. 【BZOJ-3578】GTY的人类基因组计划2 set + map + Hash 乱搞

    3578: GTY的人类基因组计划2 Time Limit: 10 Sec  Memory Limit: 128 MB Submit: 367  Solved: 159 [Submit][Status ...

  5. BZOJ4401:块的计数(乱搞)

    Description 小Y最近从同学那里听说了一个十分牛B的高级数据结构--块状树.听说这种数据结构能在sqrt(N)的时间内维护树上的各种信息,十分的高效.当然,无聊的小Y对这种事情毫无兴趣,只是 ...

  6. Luogu3732 [HAOI2017] 供给侧改革 【后缀数组】【线段树】【乱搞】

    题目分析: 这道题我是乱搞的,因为他说$01$串是随机的. 那么我们可以猜测能够让LCP变大的地方很少.求出后缀数组之后可能让LCP变大的地方就等价于从大到小往height里动态加点同时维护这个点左右 ...

  7. 【uoj#209】[UER #6]票数统计 组合数+乱搞

    题目描述 一个长度为 $n$ 的序列,每个位置为 $0$ 或 $1$ 两种.现在给出 $m$ 个限制条件,第 $i$ 个限制条件给出 $x_i$ .$y_i$ ,要求至少满足以下两个条件之一: 序列的 ...

  8. 【NOI2018】你的名字【后缀自动机】【可持久化线段树合并】【乱搞】

    题意:给一个串 SSS,qqq 次询问,每次给定串 TTT 和 l,rl,rl,r ,求有多少个本质不同的串是 TTT 的子串而不是 Sl-rS_{l\dots r}Sl-r​ 的子串. ∣S∣≤5× ...

  9. 【BZOJ-2937】建造酿酒厂 前缀和 + 展环为链 + 乱搞

    2937: [Poi2000]建造酿酒厂 Time Limit: 1 Sec  Memory Limit: 128 MB Submit: 70  Solved: 24 [Submit][Status] ...

最新文章

  1. 今天,向 6 女性程序员先驱致敬
  2. NLP 预训练家族再思考
  3. powerDesigner 正向工程生成sql注释问题 (mysql注释问题)
  4. 《深入理解Oracle 12c数据库管理(第二版)》PDF
  5. VS2012下安装OpenCV3.0.0的记要
  6. 当前几个主要的Lucene中文分词器的比较
  7. 电商平台 高并发 微服务 方案_Java生鲜电商平台-秒杀系统微服务架构设计与源码解析实战...
  8. 数据库学习3 Distinct Group By
  9. leetcode 494. Target Sum | 494. 目标和(动态规划)
  10. 你与一份好简历之间的距离
  11. 下列哪个不是java的数据类型_下面哪个不是Java基本数据类型?()
  12. shell中的括号(小括号,中括号,大括号/花括号)
  13. 当数据库遇上自动驾驶,阿里云 DAS 在自治诊断的突破
  14. ​对不起!你的超融合认知已过期……
  15. 2022年首次升级:静态代码测试工具Helix QAC 2022.1 新版本功能快讯
  16. python类之乌龟吃鱼示例
  17. 使用SecOC打造的CAN网络依旧很不安全
  18. Ubuntu系统上编译和安装perl和cpan模块
  19. Win32无边框窗口
  20. android textview设置图片大小,修改Textview内图片文字间距和图片大小

热门文章

  1. krc 编辑 linux,Linux网络编程
  2. 宝塔mysql远程链接_宝塔apache启动失败:报错 AH00526: Syntax error on line 解决方案
  3. 算法设计与分析——贪心算法——背包问题
  4. 7-3 最小生成树-kruskal (10 分)(思路+详解+并查集详解+段错误超时解决)宝 Come
  5. C++函数模板和普通函数的调用规则
  6. 蓝桥杯2016初赛-有奖猜谜-模拟
  7. springboot超详细教程_CG原画插画教程:超详细线稿教程
  8. ValueError: check_hostname requires server_hostnamejie解决方案
  9. Cannot find or open the PDB file
  10. Codeforces Round #590 (Div. 3) E. Special Permutations 差分 + 思维