最近状态极差。。水题不想写,难题咬不动。。哎,CF的题那么简单,还搞崩了= =、真是巨菜无比。

Codeforces777A

题意:略。

思路:

构造出3!次变换,然后输出就好。

Code:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int a[6][4]={{1,2,3},{2,1,3},{2,3,1},{3,2,1},{3,1,2},{1,3,2}};
  5.  
  6. int main()
  7. {
  8. int n,x;
  9. scanf("%d",&n);
  10. scanf("%d",&x);
  11. n%=6;
  12. int ans=a[n][x];
  13. ans--;
  14. printf("%d\n",ans);
  15. return 0;
  16. }

Codeforces777B

题意:

比较一下,小的数字的那个人要打一下。求第二串的最少,第一串的最多。

思路:(弱弱觉得有点意思)

两个数组,先排下序.

(1)我要少一些,我从大的去匹配对方,而且先与对方大的去匹配最优,如果不行,最小的来匹配。

(2)我要多一些,那么我小的尽可能去贴小的,同理不行的话,我拿最大的过去

Code:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long LL;
  4. char s1[1010],s2[1010];
  5. int s[1010];
  6. int m[1010];
  7. int n;
  8.  
  9. void solve1()
  10. {
  11. int k1=0,k2=0;
  12. int t1=n-1,t2=n-1;
  13. int ans1=0;
  14. while(k1<=t1&&k2<=t2)
  15. {
  16. if(m[t2]>=s[t1])
  17. {
  18. t1--;
  19. t2--;
  20. }
  21. else
  22. {
  23. t1--;
  24. k2++;
  25. ans1++;
  26. }
  27. }
  28. printf("%d\n",ans1);
  29. }
  30.  
  31. void solve2()
  32. {
  33. int k1=0,k2=0;
  34. int t1=n-1,t2=n-1;
  35. int ans2=0;
  36. while(k1<=t1&&k2<=t2) //小的贴小的,不行的话我最大的贴小的。
  37. {
  38. if(s[k1]<m[k2])
  39. {
  40. k1++;
  41. k2++;
  42. ans2++;
  43. }
  44. else
  45. {
  46. t1--;
  47. k2++;
  48. }
  49. }
  50. printf("%d\n",ans2);
  51. }
  52.  
  53. int main()
  54. {
  55. scanf("%d",&n);
  56. scanf("%s%s",s1,s2);
  57. for(int i=0;i<n;i++)
  58. s[i]=s1[i]-'0';
  59. for(int i=0;i<n;i++)
  60. m[i]=s2[i]-'0';
  61. sort(s,s+n);
  62. sort(m,m+n);
  63. solve1();
  64. solve2();
  65. return 0;
  66. }
  67. /*
  68. 4
  69. 1234
  70. 2345
  71. */

Codeforces777C:

就是直接搞就好了,对于每列可以尺取,也可以拿个临时变量作为当前最远位置,这里是预处理出一个数组存每个位置的最远距离。

Code

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long LL;
  4. const int N=1e6+10;
  5. vector<int>xs[100010];
  6. int num[100010];
  7. int n,m;
  8.  
  9. void solve()
  10. {
  11. for(int i=0;i<m;i++)
  12. {
  13. int tmp=-1;
  14. int L;
  15. for(int j=0;j<xs[i].size();j++)
  16. {
  17. int a=xs[i][j];
  18. if(tmp==-1)
  19. L=j+1;
  20. else if(tmp>a)
  21. {
  22. num[L]=max(num[L],j);
  23. L=j+1;
  24. }
  25. tmp=a;
  26. }
  27. num[L]=max(num[L],n);
  28. }
  29.  
  30. int tmp=-1;
  31. for(int i=1;i<=n;i++)
  32. {
  33. num[i]=max(num[i],tmp);
  34. tmp=max(num[i],tmp);
  35. }
  36. }
  37.  
  38. int main()
  39. {
  40. int x,y;
  41. scanf("%d%d",&n,&m);
  42. for(int i=0;i<n;i++)
  43. for(int j=0;j<m;j++)
  44. {
  45. scanf("%d",&x);
  46. xs[j].push_back(x);
  47. }
  48. solve();
  49. int Q;
  50. scanf("%d",&Q);
  51. while(Q--)
  52. {
  53. scanf("%d%d",&x,&y);
  54. if(num[x]>=y)
  55. puts("Yes");
  56. else
  57. puts("No");
  58. }
  59. return 0;
  60. }

Codeforces777D:

大水题。。

Code:

  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. typedef long long LL;
  4.  
  5. vector<char>xs[500010];
  6. int n;
  7. int len[500010];
  8. char ss[500010];
  9. int main()
  10. {
  11. scanf("%d",&n);
  12. for(int i=0;i<n;i++)
  13. {
  14. scanf("%s",ss);
  15. int yy=strlen(ss);
  16. for(int j=0;j<yy;j++)
  17. xs[i].push_back(ss[j]);
  18. }
  19. int t1,t2;
  20. len[n-1]=xs[n-1].size();
  21. for(int i=n-2;i>=0;i--)
  22. {
  23. t1=0;t2=0;
  24. bool flag=true;
  25. if(len[i+1]==1)
  26. {
  27. len[i]=1;
  28. continue;
  29. }
  30. while(t1<len[i+1]&&t2<xs[i].size())
  31. {
  32. if(xs[i+1][t1]==xs[i][t2])
  33. {
  34. t1++;
  35. t2++;
  36. }
  37. else if(xs[i+1][t1]>xs[i][t2])
  38. {
  39. len[i]=xs[i].size();
  40. flag=false;
  41. break;
  42. }
  43. else
  44. break;
  45. }
  46. if(flag)
  47. len[i]=t2;
  48. }
  49. for(int i=0;i<n;i++)
  50. {
  51. for(int j=0;j<len[i];j++)
  52. cout<<xs[i][j];
  53. puts("");
  54. }
  55. return 0;
  56. }
  57. /*
  58. 3
  59. #sima
  60. #simb
  61. #sima
  62. */

Codeforces Round #401 (Div. 2)【A,B,C,D】的更多相关文章

  1. Codeforces Round #508 (Div. 2)【A,B,C,D】【实验室日常周赛训练】

    #include<bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f3f3f #define int long long ...

  2. Codeforces Round #343 (Div. 2)【A,B水题】

    A. Far Relative's Birthday Cake 题意: 求在同一行.同一列的巧克力对数. 分析: 水题~样例搞明白再下笔! 代码: #include<iostream> u ...

  3. Codeforces Round #553 (Div. 2) 【C. Problem for Nazar】

    题目大意: 一开始第一行是 1,第二行是2 4 ,第三行是3 5 7 9 ,类似这样下去,每一行的个数是上一行的个数,然后对这些点从第一个进行编号,问你从[l,r]区间数的和. 思路:分别求出奇数和偶 ...

  4. Codeforces Round #646 (Div. 2)【B. Subsequence Hate题解】

    具体思路已经在代码注释中给出,这里不再赘述. #include<iostream> #include<algorithm> using namespace std; int t ...

  5. Codeforces Round #401 (Div. 2) 离翻身就差2分钟

    Codeforces Round #401 (Div. 2) 很happy,现场榜很happy,完全将昨晚的不悦忘了.终判我校一片惨白,小董同学怒怼D\E,离AK就差一个C了,于是我AC了C题还剩35 ...

  6. Codeforces Round #443 (Div. 2) 【A、B、C、D】

    Codeforces Round #443 (Div. 2) codeforces 879 A. Borya's Diagnosis[水题] #include<cstdio> #inclu ...

  7. Codeforces Round #436 (Div. 2)【A、B、C、D、E】

    Codeforces Round #436 (Div. 2) 敲出一身冷汗...感觉自己宛如智障:( codeforces 864 A. Fair Game[水] 题意:已知n为偶数,有n张卡片,每张 ...

  8. Codeforces Round #435 (Div. 2)【A、B、C、D】

    //在我对着D题发呆的时候,柴神秒掉了D题并说:这个D感觉比C题简单呀!,,我:[哭.jpg](逃 Codeforces Round #435 (Div. 2) codeforces 862 A. M ...

  9. Codeforces Round #434 (Div. 2)【A、B、C、D】

    Codeforces Round #434 (Div. 2) codeforces 858A. k-rounding[水] 题意:已知n和k,求n的最小倍数x,要求x后缀至少有k个0. 题解:答案就是 ...

随机推荐

  1. oops信息的分析【转】

    本文转载自:https://blog.csdn.net/zhangchiytu/article/details/8303172 oops是英语口语"糟糕"的意思,当LINUX 内核 ...

  2. Mac OS访问Windows共享文件夹

    原文地址:http://blog.csdn.net/jinhill/article/details/7246922 最近开始研究Mac OS,遇到的第一个问题就是如何在Mac OS中访问Windows ...

  3. 加州小学grade1,学习计划

    Visual vocabulary Grammar Spelling Maths Chapter 1 Patterns and Number SenseChapter 2Understanding A ...

  4. Sqooop- 使用Sqoop进行数据的导入导出

    Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出. 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境 ...

  5. c++迷宫小游戏

    c++迷宫小游戏 一.总结 一句话总结: 显示:根据map数组输出图像 走动:修改map数组的值,每走一步重新刷新一下图像就好 1.如果走函数用z(),出现输入s会向下走多步的情况,原因是什么? 向下 ...

  6. resEdit

    resEdit:一个图形界面编辑工具,它不但可以用来编写程序所图形界面(如修改图标.菜单.鼠标.版本信息等),还支持了对exe.dll等执行文件内的资源(图标.菜单.鼠标指针.位图.版本信息)等进行修 ...

  7. Sysctl命令及linux内核参数调整

        一.Sysctl命令用来配置与显示在/proc/sys目录中的内核参数.如果想使参数长期保存,可以通过编辑/etc/sysctl.conf文件来实现.    命令格式:  sysctl [-n ...

  8. osx快捷键表示图

  9. BZOJ4278 [ONTAK2015]Tasowanie[后缀数组+贪心]

    题目 求两数组归并后的数组最小字典序排列. 嘛,可能本人在贪心这块还是太弱了(或者说什么都弱),如果不知道是字符串题估计也想不起来用sa. 显然看得出归并时字典序小的那个数组先往里面加,这就是要比较两 ...

  10. ACM学习历程—ZOJ 3861 Valid Pattern Lock(dfs)

    Description Pattern lock security is generally used in Android handsets instead of a password. The p ...