当前位置:   article > 正文

Codeforces Round #817 (Div. 4)_codeforces round 817 (div. 4)

codeforces round 817 (div. 4)

发挥还行,约了三五好友一起打,不过有点晚,该睡了,睡前简单写一波题解,明天记得补题

Dashboard - Codeforces Round #817 (Div. 4) - Codeforces

完成:abcde

f纯暴力实在是不爱写(全队代码能力最差是真的石锤),g太困了懒得看,看起来是bitset,明天再看一下,现在该去睡觉了

A:给字符串问是否为Timur 的全排列,直接记录了下每个字母的出现次数,结束

B:给俩字符串,有B和G和R,求蓝绿色盲看俩串是否一样,R标0,BG标1,看串是否一样

C:给仨人,每人出n个长度为3的不相同的字符串,如果俩人有一样的串各加1分,仨人不加分,只有自己有加一分,求总分。字符串相当于三位26进制数,换算成10进制,直接排序,找相同值的个数

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<iostream>
  5. #include<string>
  6. #include<vector>
  7. #include<stack>
  8. #include<cstdlib>
  9. #include<cmath>
  10. #include<set>
  11. #include<list>
  12. #include<deque>
  13. #include<map>
  14. #include<queue>
  15. #include<bitset>
  16. #include<limits.h>
  17. using namespace std;
  18. char s1[110],s2[110],s3[110];
  19. struct XD{
  20. int num,id;
  21. };
  22. XD a[3100];
  23. int ans[4];
  24. bool cmp(XD a,XD b)
  25. {
  26. return a.num<b.num ;
  27. }
  28. int main()
  29. {
  30. int n,m;
  31. cin>>n;
  32. while(n--)
  33. {
  34. ans[1]=0,ans[2]=0,ans[3]=0;
  35. cin>>m;
  36. for(int i=1;i<=m;i++)
  37. {
  38. cin>>s1;
  39. a[i].num=(s1[0]-'a')*26*26+(s1[1]-'a')*26+(s1[2]-'a')+1;
  40. a[i].id=1;
  41. }
  42. for(int i=1;i<=m;i++)
  43. {
  44. cin>>s2;
  45. a[i+m].num=(s2[0]-'a')*26*26+(s2[1]-'a')*26+(s2[2]-'a')+1;
  46. a[i+m].id=2;
  47. }
  48. for(int i=1;i<=m;i++)
  49. {
  50. cin>>s3;
  51. a[i+m*2].num=(s3[0]-'a')*26*26+(s3[1]-'a')*26+(s3[2]-'a')+1;
  52. a[i+m*2].id=3;
  53. }
  54. sort(a+1,a+1+m*3,cmp);
  55. a[m*3+1].num =0;
  56. // for(int i=1;i<=m*3;i++)
  57. // {
  58. // cout<<a[i].num<<" "<<a[i].id<<"\n";
  59. // }
  60. for(int i=1;i<=m*3;i++){
  61. if(a[i].num==a[i-1].num)
  62. {
  63. if(a[i].num==a[i+1].num) i++;
  64. else
  65. {
  66. ans[a[i].id]++;
  67. ans[a[i-1].id]++;
  68. }
  69. }
  70. else
  71. {
  72. if(a[i].num!=a[i+1].num)
  73. {
  74. ans[a[i].id]+=3;
  75. }
  76. }
  77. }
  78. cout<<ans[1]<<" "<<ans[2]<<" "<<ans[3]<<"\n";
  79. }
  80. }

D:给个长度为n的字符串,L表示向左看,R表示向右看,最多修改1-n个字母,求能看到的字母个数。(发现写麻烦了)统计初始值和修改差值,sort修改差值,结束

  1. #include<cstdio>
  2. #include<cstring>
  3. #include<algorithm>
  4. #include<iostream>
  5. #include<string>
  6. #include<vector>
  7. #include<stack>
  8. #include<cstdlib>
  9. #include<cmath>
  10. #include<set>
  11. #include<list>
  12. #include<deque>
  13. #include<map>
  14. #include<queue>
  15. #include<bitset>
  16. #include<limits.h>
  17. using namespace std;
  18. char s1[200005];
  19. int flag[200005];
  20. int main()
  21. {
  22. int n,m;
  23. cin>>n;
  24. while(n--)
  25. {
  26. cin>>m;
  27. cin>>s1;
  28. long long ans=0;
  29. for(int i=0;i<m;i++)
  30. {
  31. if(s1[i]=='L')
  32. {
  33. ans+=i;
  34. if(i<m-i-1)
  35. {
  36. flag[i]=m-i-1-i;
  37. }
  38. else
  39. {
  40. flag[i]=0;
  41. }
  42. }
  43. else
  44. {
  45. ans+=m-i-1;
  46. if(i>m-i-1)
  47. {
  48. flag[i]=i-(m-i-1);
  49. }
  50. else
  51. {
  52. flag[i]=0;
  53. }
  54. }
  55. }
  56. sort(flag,flag+m);
  57. for(int i=m-1;i>=0;i--)
  58. {
  59. ans+=flag[i];
  60. flag[i]=0;
  61. cout<<ans<<" ";
  62. }
  63. cout<<"\n";
  64. }
  65. }

网太卡这个写法甚至没能提交上去,我真的醉了

刚打完上面那句话网就上去了,过了,果然网站是需要吓一吓的,比赛的时候写着写着发现网卡了,正准备截图发群里说“大风车吱呀吱呀呀的转”,网好了,草

E:给m个长方形和q个询问,每个询问包含两个矩形,求给定矩形面积和,使得能把询问的小正方形完全包含并且被给定的大正方形完全包含。

二维数点,写过一次,主席树做法依旧没补,指路(51条消息) 代码源#464数数_yeah17981的博客-CSDN博客

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int N=1e6+10;
  4. struct XD{
  5. long long x,y,w;
  6. long long edge,id;
  7. };
  8. XD a[N];
  9. long long tree[N];
  10. long long maxy;
  11. long long g[N];
  12. long long ans[N][5];
  13. void add(long long x,long long k,long long maxy)
  14. {
  15. for(long long i=x;i<=maxy;i+=i&-i)
  16. {
  17. tree[i]+=1ll*k;
  18. }
  19. }
  20. long long ask(long long x)
  21. {
  22. long long res=0;
  23. for(long long i=x;i;i-=i&-i)
  24. {
  25. res+=tree[i];
  26. }
  27. return res;
  28. }
  29. bool cmp(XD a,XD b)
  30. {
  31. if(a.x==b.x)
  32. {
  33. if(a.y==b.y)
  34. {
  35. return a.id <b.id ;
  36. }
  37. return a.y<b.y ;
  38. }
  39. return a.x<b.x;
  40. }
  41. void solve()
  42. {
  43. memset(tree,0,sizeof(tree));
  44. memset(g,0,sizeof(g));
  45. memset(ans,0,sizeof(ans));
  46. memset(a,0,sizeof(a));
  47. long long n,m,x1,x2,y1,y2;
  48. cin>>n>>m;
  49. for(long long i=1;i<=n;i++)
  50. {
  51. cin>>a[i].x>>a[i].y;
  52. a[i].w=a[i].x*a[i].y;
  53. g[i]=a[i].y;
  54. }
  55. long long num=n;
  56. for(long long i=1;i<=m;i++)
  57. {
  58. cin>>x1>>y1>>x2>>y2;
  59. x1+=1;
  60. x2-=1;
  61. y1+=1;
  62. y2-=1;
  63. a[++num].x=x1-1;
  64. a[num].y=y1-1;
  65. a[num].edge=1;
  66. a[num].id=i;
  67. g[num]=y1-1;
  68. a[++num].x=x2;
  69. a[num].y=y1-1;
  70. a[num].edge=2;
  71. a[num].id=i;
  72. g[num]=y1-1;
  73. a[++num].x=x1-1;
  74. a[num].y=y2;
  75. a[num].edge=3;
  76. a[num].id=i;
  77. g[num]=y2;
  78. a[++num].x=x2;
  79. a[num].y=y2;
  80. a[num].edge=4;
  81. a[num].id=i;
  82. g[num]=y2;
  83. }
  84. sort(a+1,a+1+num,cmp);
  85. sort(g+1,g+num+1);
  86. long long maxy=unique(g+1,g+1+num)-g-1;
  87. for(long long i=1;i<=num;i++)
  88. {
  89. if(!a[i].id)
  90. {
  91. long long pos=lower_bound(g+1,g+1+maxy,a[i].y)-g;
  92. add(pos,a[i].w,maxy);
  93. }
  94. else
  95. {
  96. long long pos=lower_bound(g+1,g+1+maxy,a[i].y)-g;
  97. ans[a[i].id][a[i].edge]=ask(pos);
  98. }
  99. }
  100. for(long long i=1;i<=m;i++)
  101. {
  102. cout<<ans[i][4]+ans[i][1]-ans[i][3]-ans[i][2]<<"\n";
  103. }
  104. }
  105. int main()
  106. {
  107. std::ios_base::sync_with_stdio(false);
  108. cin.tie(NULL); cout.tie(NULL);
  109. long long _;
  110. cin>>_;
  111. while(_--)
  112. {
  113. solve();
  114. }
  115. }

也不知道为啥网这么差,代码都复制不下来

还有五分钟比赛结束,无尽的等待……

不对啊,既然我要等到比赛结束发,我为啥刚刚不看看题捏,反正都睡不了,草,失策了

还有三分钟,感觉这个网不太支持我登上去看G题了,那就算了吧,快快结束,快快睡觉,QAQ

好困呜呜呜,中午没睡,希望我的除螨喷雾快点到,上床鼻子难受,不上床又困死了,呜呜呜呜呜

小小倒计时 3 2 1,提交!睡觉!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/72484
推荐阅读
相关标签
  

闽ICP备14008679号