明明多个几秒就能场上AK了。自闭。

  A:签到。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  10. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  11. int read()
  12. {
  13. int x=,f=;char c=getchar();
  14. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  15. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  16. return x*f;
  17. }
  18. int T,l,r,d;
  19. signed main()
  20. {
  21. /*#ifndef ONLINE_JUDGE
  22. freopen("a.in","r",stdin);
  23. freopen("a.out","w",stdout);
  24. const char LL[]="%I64d\n";
  25. #endif*/
  26. T=read();
  27. while (T--)
  28. {
  29. l=read(),r=read(),d=read();
  30. if (d<l) cout<<d<<endl;
  31. else cout<<1ll*(r/d+)*d<<endl;
  32. }
  33. return ;
  34. //NOTICE LONG LONG!!!!!
  35. }

  B:签到。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. #define N 500010
  10. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  11. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  12. int read()
  13. {
  14. int x=,f=;char c=getchar();
  15. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  16. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  17. return x*f;
  18. }
  19. int n;
  20. char s[N];
  21. signed main()
  22. {
  23. /*#ifndef ONLINE_JUDGE
  24. freopen("a.in","r",stdin);
  25. freopen("a.out","w",stdout);
  26. const char LL[]="%I64d\n";
  27. #endif*/
  28. scanf("%s",s+);n=strlen(s+);
  29. bool flag=;int x=n+,y=;
  30. for (int i=;i<=n;i++)
  31. {
  32. if (s[i]=='[') flag=;
  33. if (s[i]==':') if (flag) {x=i;break;}
  34. }
  35. flag=;
  36. for (int i=n;i>=;i--)
  37. {
  38. if (s[i]==']') flag=;
  39. if (s[i]==':') if (flag) {y=i;break;}
  40. }
  41. if (x>=y) cout<<-;
  42. else
  43. {
  44. int ans=;
  45. for (int i=x+;i<y;i++)
  46. if (s[i]=='|') ans++;
  47. cout<<ans;
  48. }
  49. return ;
  50. //NOTICE LONG LONG!!!!!
  51. }

  C:wa了无数发。按左端点排序后找一个连续且和其他线段不相交的线段集即可。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. #define N 100010
  10. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  11. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  12. int read()
  13. {
  14. int x=,f=;char c=getchar();
  15. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  16. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  17. return x*f;
  18. }
  19. int T,n,ans[N];
  20. struct data
  21. {
  22. int l,r,i;
  23. bool operator <(const data&a) const
  24. {
  25. return l<a.l;
  26. }
  27. }a[N];
  28. signed main()
  29. {
  30. #ifndef ONLINE_JUDGE
  31. freopen("a.in","r",stdin);
  32. freopen("a.out","w",stdout);
  33. const char LL[]="%I64d\n";
  34. #endif
  35. T=read();
  36. while (T--)
  37. {
  38. n=read();
  39. for (int i=;i<=n;i++) a[i].l=read(),a[i].r=read(),a[i].i=i;
  40. sort(a+,a+n+);
  41. bool flag=;a[n+].l=;
  42. int t=,x=a[].r;
  43. while (t<n&&a[t+].l<=x) t++,x=max(x,a[t].r);
  44. if (t==n) cout<<-<<endl;
  45. else
  46. {
  47. for (int i=;i<=t;i++) ans[a[i].i]=;
  48. for (int i=t+;i<=n;i++) ans[a[i].i]=;
  49. for (int i=;i<=n;i++) printf("%d ",ans[i]);
  50. cout<<endl;
  51. }
  52. }
  53. return ;
  54. //NOTICE LONG LONG!!!!!
  55. }

  E:这才是真签到吧?wa了一发自闭啊?

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. #define N 500010
  10. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  11. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  12. int read()
  13. {
  14. int x=,f=;char c=getchar();
  15. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  16. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  17. return x*f;
  18. }
  19. int m,u,v;
  20. signed main()
  21. {
  22. #ifndef ONLINE_JUDGE
  23. freopen("b.in","r",stdin);
  24. freopen("b.out","w",stdout);
  25. const char LL[]="%I64d\n";
  26. #endif
  27. m=read();
  28. while (m--)
  29. {
  30. char c=getchar();while (c!='+'&&c!='?') c=getchar();
  31. int x=read(),y=read();if (x>y) swap(x,y);
  32. if (c=='+')
  33. {
  34. u=max(u,x),v=max(y,v);
  35. }
  36. else
  37. {
  38. if (x>=u&&y>=v) printf("YES\n");
  39. else printf("NO\n");
  40. }
  41. }
  42. return ;
  43. //NOTICE LONG LONG!!!!!
  44. }

  D:如果路径经过某点,最后所得的路径gcd显然是该点某些质因子的倍数。对此dp即可。一发wa on 3,3可是样例啊?自闭了啊?

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. #define N 200010
  10. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  11. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  12. int read()
  13. {
  14. int x=,f=;char c=getchar();
  15. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  16. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  17. return x*f;
  18. }
  19. int n,a[N],p[N],f[N][],prime[N][],t,ans;
  20. struct data{int to,nxt;
  21. }edge[N<<];
  22. void addedge(int x,int y){t++;edge[t].to=y,edge[t].nxt=p[x],p[x]=t;}
  23. void dfs(int k,int from)
  24. {
  25. for (int i=p[k];i;i=edge[i].nxt)
  26. if (edge[i].to!=from)
  27. {
  28. dfs(edge[i].to,k);
  29. for (int x=;x<=prime[edge[i].to][];x++)
  30. for (int y=;y<=prime[k][];y++)
  31. if (prime[edge[i].to][x]==prime[k][y])
  32. {
  33. ans=max(ans,f[k][y]+f[edge[i].to][x]+);
  34. f[k][y]=max(f[k][y],f[edge[i].to][x]+);
  35. }
  36. }
  37. }
  38. signed main()
  39. {
  40. #ifndef ONLINE_JUDGE
  41. freopen("a.in","r",stdin);
  42. freopen("a.out","w",stdout);
  43. const char LL[]="%I64d\n";
  44. #endif
  45. n=read();
  46. for (int i=;i<=n;i++) a[i]=read();
  47. bool flag=;
  48. for (int i=;i<=n;i++) if (a[i]!=) flag=;
  49. if (flag) {cout<<;return ;}
  50. for (int i=;i<n;i++)
  51. {
  52. int x=read(),y=read();
  53. addedge(x,y),addedge(y,x);
  54. }
  55. for (int i=;i<=n;i++)
  56. {
  57. for (int j=;j*j<=a[i];j++)
  58. if (a[i]%j==)
  59. {
  60. prime[i][++prime[i][]]=j;
  61. while (a[i]%j==) a[i]/=j;
  62. }
  63. if (a[i]>) prime[i][++prime[i][]]=a[i];
  64. }
  65. dfs(,);
  66. cout<<ans+;
  67. return ;
  68. //NOTICE LONG LONG!!!!!
  69. }

  G:一眼线性基,然后就往别的方面想了。自闭了半天直接乱搞求个前缀异或和搞了个线性基上去就pp了。冷静了半天正确性何在。事实上划分序列相当于选出一些前缀异或和,这是一个裸到不行的线性基。注意虽然最后一个前缀和应该是必须选的,但是不考虑也不会造成什么影响(吧)。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. using namespace std;
  8. #define ll long long
  9. #define N 200010
  10. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  11. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  12. int read()
  13. {
  14. int x=,f=;char c=getchar();
  15. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  16. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  17. return x*f;
  18. }
  19. int n,a[N],base[],ans;
  20. signed main()
  21. {
  22. #ifndef ONLINE_JUDGE
  23. freopen("a.in","r",stdin);
  24. freopen("a.out","w",stdout);
  25. const char LL[]="%I64d\n";
  26. #endif
  27. n=read();
  28. for (int i=;i<=n;i++) a[i]=a[i-]^read();
  29. if (a[n]==) {cout<<-;return ;}
  30. for (int i=;i<=n;i++)
  31. for (int j=;~j;j--)
  32. if (a[i]&(<<j))
  33. {
  34. if (base[j]) a[i]^=base[j];
  35. else {base[j]=a[i],ans++;break;}
  36. }
  37. cout<<ans;
  38. return ;
  39. //NOTICE LONG LONG!!!!!
  40. }

  F:随便都知道是二分答案。但是nmlog显然有些吃力。考虑random_shuffle一发,每次记录当前需要的最大容量,考虑下一辆卡车时先判断当前容量是否能满足其需求,如果不行再二分一下。这样复杂度大约是nm+nlogmlogV,因为只需要对所需容量的单调栈中的卡车进行二分,而排列又是随机的。复杂度证明似乎在一篇cfblog里看到过。(突然发现整个idea都在这篇blog里https://codeforces.com/blog/entry/62602)一开始又没注意到要开long long,交一发in queue了半天,然后wa on 3,结果改了一发又没改全,交一发再次in queue了半天,接着wa on 3。然后就只剩20s了,手速不行,就,自闭了。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<cmath>
  4. #include<cstdlib>
  5. #include<cstring>
  6. #include<algorithm>
  7. #include<ctime>
  8. using namespace std;
  9. #define ll long long
  10. #define N 410
  11. #define M 250010
  12. char getc(){char c=getchar();while ((c<'A'||c>'Z')&&(c<'a'||c>'z')&&(c<''||c>'')) c=getchar();return c;}
  13. int gcd(int n,int m){return m==?n:gcd(m,n%m);}
  14. int read()
  15. {
  16. int x=,f=;char c=getchar();
  17. while (c<''||c>'') {if (c=='-') f=-;c=getchar();}
  18. while (c>=''&&c<='') x=(x<<)+(x<<)+(c^),c=getchar();
  19. return x*f;
  20. }
  21. int n,m,a[N];
  22. ll ans;
  23. struct data{int s,f,c,r;
  24. }b[M];
  25. bool check(ll k,int i)
  26. {
  27. ll cur=k;int cnt=;
  28. for (int j=b[i].s;j<b[i].f;j++)
  29. {
  30. if (cur>=1ll*b[i].c*(a[j+]-a[j])) cur-=1ll*b[i].c*(a[j+]-a[j]);
  31. else
  32. {
  33. cur=k,cnt++;
  34. if (cur>=1ll*b[i].c*(a[j+]-a[j])) cur-=1ll*b[i].c*(a[j+]-a[j]);
  35. else return ;
  36. }
  37. if (cnt>b[i].r) return ;
  38. }
  39. return ;
  40. }
  41. signed main()
  42. {
  43. #ifndef ONLINE_JUDGE
  44. freopen("b.in","r",stdin);
  45. freopen("b.out","w",stdout);
  46. const char LL[]="%I64d\n";
  47. #endif
  48. srand(time());
  49. n=read(),m=read();
  50. for (int i=;i<=n;i++) a[i]=read();
  51. for (int i=;i<=m;i++) b[i].s=read(),b[i].f=read(),b[i].c=read(),b[i].r=read();
  52. random_shuffle(b+,b+m+);
  53. for (int i=;i<=m;i++)
  54. if (!check(ans,i))
  55. {
  56. ll l=ans+,r=1000000000000000000ll;
  57. while (l<=r)
  58. {
  59. ll mid=l+r>>;
  60. if (check(mid,i)) ans=mid,r=mid-;
  61. else l=mid+;
  62. }
  63. }
  64. cout<<ans;
  65. return ;
  66. //NOTICE LONG LONG!!!!!
  67. }

Educational Codeforces Round 58 Div. 2 自闭记的更多相关文章

  1. Codeforces Round #554 (Div. 2)自闭记

    A 签到 #include<bits/stdc++.h> using namespace std; ],t[],ans; int main() { scanf("%d%d&quo ...

  2. Codeforces Round #545 Div. 1自闭记

    A:求出该行该列各有多少个比其小的取max,该行该列各有多少个比其大的取max,加起来即可. #include<iostream> #include<cstdio> #incl ...

  3. Codeforces Round #528 Div. 1 自闭记

    整天自闭. A:有各种讨论方式.我按横坐标排了下然后讨论了下纵坐标单调和不单调两种情况.写了15min也就算了,谁能告诉我printf和cout输出不一样是咋回事啊?又调了10min啊?upd:突然想 ...

  4. Codeforces Round #526 Div. 1 自闭记

    日常猝死. A:f[i]表示子树内包含根且可以继续向上延伸的路径的最大价值,统计答案考虑合并两条路径即可. #include<iostream> #include<cstdio> ...

  5. Codeforces Round #567 (Div. 2)自闭记

    嘿嘿嘿,第一篇文章,感觉代码可以缩起来简直不要太爽 打个div2发挥都这么差... 平均一题fail一次,还调不出错,自闭了 又一次跳A开B,又一次B傻逼错误调不出来 罚时上天,E还傻逼了..本来这场 ...

  6. Codeforces Round #530 Div. 1 自闭记

    A:显然应该让未确定的大小尽量大.不知道写了啥就wa了一发. #include<iostream> #include<cstdio> #include<cmath> ...

  7. Codeforces Round #525 Div. 2 自闭记

    A:签到. #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> ...

  8. Educational Codeforces Round 58 (Rated for Div. 2) 题解

    Educational Codeforces Round 58 (Rated for Div. 2)  题目总链接:https://codeforces.com/contest/1101 A. Min ...

  9. Educational Codeforces Round 84 (Div. 2)

    Educational Codeforces Round 84 (Div. 2) 读题读题读题+脑筋急转弯 = =. A. Sum of Odd Integers 奇奇为奇,奇偶为偶,所以n,k奇偶性 ...

随机推荐

  1. Twemproxy Redis 介绍与使用

    Twemproxy是一种代理分片机制,由Twitter开源.Twemproxy作为代理,可接受来自多个程序的访问,按照路由规则,转发给后台的各个Redis服务器,再原路返回.该方案很好的解决了单个Re ...

  2. 12,13,14节-51单片机ESP8266学习-AT指令(暂停更新)需要整理

    从这一节开始,以视频加源码的形式,后期视频和程序将放在链接中 资料链接 链接: https://pan.baidu.com/s/1jpHZjW_7pQKNfN9G4B6ZjA     密码:nhn3  ...

  3. 如何计算PCB设计中的阻抗

    关于阻抗的话题已经说了这么多,想必大家对于阻抗控制在pcb layout中的重要性已经有了一定的了解.俗话说的好,工欲善其事,必先利其器.要想板子利索的跑起来,传输线的阻抗计算肯定不能等闲而视之. 在 ...

  4. LVDS原理及设计指南--以及衍生的B-LVDS-M-LVDS--CML-LVPECL电平等

    LVDS是一种低摆幅的差分信号技术,它使得信号能在差分PCB 线对或平衡电缆上以几百Mbps的速率传输,其低压幅和低电流驱动输出实现了低噪声和低功耗.      IEEE 在两个标准中对LVDS 信号 ...

  5. cssie7.0兼容

    http://www.w3dev.cn/article/20140328/IE7-float-left-touch-border-inner-break.aspx

  6. Ionic App 启动时报Application Error - The connection to the server was unsuccessful

    最近在更新App的时候,发现在华为手机上报这个错误,有点困惑,查找资料分析,大概原因是程序在加载index.html网页时,加载的资源过多,造成时间超时, 这个时原因分析https://stackov ...

  7. 设计模式-简单工厂Coding+jdk源码解析

    感谢慕课geely老师的设计模式课程,本套设计模式的所有内容均以课程为参考. 前面的软件设计七大原则,目前只有理论这块,因为最近参与项目重构,暂时没有时间把Coding的代码按照设计思路一点点写出来. ...

  8. MVC4程序运行报错

    近期了解MVC4的时候弄了一个简单的小工程,使用Entity Framework作为Model,F5启动调试运行的时候没有问题,但是发布到IIS之后访问就报错 错误信息如下: The Entity F ...

  9. python打印列表的下标和值的例子:

    python打印列表的下标和值的例子: In [1]: list01=[1,4,5] In [10]: def funct01(ll):   ....:     for index,value in ...

  10. CentOS7中安装redis5.0

    1. 环境介绍 CentOS7 (未安装Development Tools) 2. 下载Redis5.0-rc3 wget -O redis-5.0-rc3.tar.gz https://github ...