CodeForces
22A

找严格第二小的。。。注意只有一种情况,可以sort排序然后unique输出。

  1. int a[N];
  2. int main()
  3. {
  4. int n;
  5. while(~scanf("%d",&n))
  6. {
  7. for(int i=0;i<n;i++)
  8. scanf("%d",&a[i]);
  9. sort(a,a+n);
  10. if(n==1||a[0]==a[n-1]) printf("NO\n");
  11. else
  12. {
  13. unique(a,a+n)-a;
  14. printf("%d\n",a[1]);
  15. }
  16. }
  17. return 0;
  18. }

CodeForces
23A

找子集中出现次数最多的,只求一个数量,数据范围只有100,用map<string,int>。

  1. const int N=1e6+10;
  2. int main()
  3. {
  4. string a;
  5. cin>>a;
  6. map<string,int>q;
  7. int len=(int)a.size();
  8. int ma=0;
  9. for(int i=0;i<len;i++)
  10. for(int j=0;j<len;j++)//枚举所有区间。。
  11. {
  12. string s;
  13. for(int k=i;k<=j;k++)
  14. s+=a[k];
  15. q[s]++;
  16. if(q[s]>=2) ma=max(ma,j-i+1);
  17. }
  18. printf("%d\n",ma);
  19. }//写起来是方便,不过时间复杂度略高。。

CodeForces
23B

规律题,,开始没看懂题意,,CF上的标签是构图。于是枚举了几组,大胆猜想了一下结果是(n-2),1A。

  1. int main()
  2. {
  3. int t,n;
  4. scanf("%d",&t);
  5. while(t--)
  6. {scanf("%d",&n);
  7. if(n<=2) printf("0\n");
  8. else printf("%d\n",n-2);
  9.  
  10. }
  11. return 0;
  12. }

CodeForces
23C

这题真心不错,题意很好懂,但没思路。。

题意:有2n-1个箱子,每个箱子里有一定数量的苹果和橘子。问是否存在一种方案选n个箱子使得苹果的数量不小于苹果总数的一半并且橘子的数量不小于橘子总数的一半。。

思路:排序即可,不管按橘子数递增或者苹果数递增。接下来证明:首先下标从1开始,2n-1一定是奇数,排序后最优情况一定要选最后一个。我们有两种选法:①选所有的奇数,②选所有的偶数和最后一个奇数箱子(因为要选n个箱子)。一下我们按橘子数递增排序(按苹果数一样的)进行讨论,很容易证明:一号方案和二号方案橘子数肯定符合条件的,比如总共有5个箱子,那么选奇数的话:橘子数a1+a3+a5>a2+a4,如果选偶数:a2+a4+a5>a1+a3.那接下来看苹果数咯,苹果数只有两种情况,所以这两种方案必有一种符合。

  1. const int N=1e7+10;
  2. struct zz
  3. {
  4. int x,y,id;
  5. } a[N];
  6. int cmp1(zz a,zz b)
  7. {
  8. return a.x<b.x;
  9. }
  10. int main()
  11. {
  12. int t,n;
  13. scanf("%d",&t);
  14. while(t--)
  15. {
  16. scanf("%d",&n);
  17. ll sum1=0,sum2=0;
  18. for(int i=1; i<=2*n-1; i++)
  19. {
  20. scanf("%d%d",&a[i].x,&a[i].y);
  21. a[i].id=i;
  22. sum1+=a[i].x,sum2+=a[i].y;
  23. }
  24. sort(a+1,a+2*n,cmp1);
  25. ll s1=0,s2=0;
  26. for(int i=1; i<=2*n-1; i+=2)
  27. {
  28. s1+=a[i].x;
  29. s2+=a[i].y;
  30. }
  31. printf("YES\n");//必然存在符合条件的情况。
  32. if(s1*2>=sum1&&s2*2>=sum2)
  33. {
  34. for(int i=1;i<=2*n-1;i+=2)
  35. {
  36. printf("%d ",a[i].id);
  37. }
  38. }
  39. else
  40. {
  41. for(int i=2;i<=2*n-1;i+=2)
  42. {
  43. printf("%d ",a[i].id);
  44. }
  45. printf("%d",a[2*n-1].id);
  46. }
  47. printf("\n");
  48. }
  49. return 0;
  50. }

水题之路。。整天水题不会有提高的。。还是多学几个牛逼的算法吧!

CodeForces 22、23部分题解的更多相关文章

  1. Codeforces Round #543 Div1题解(并不全)

    Codeforces Round #543 Div1题解 Codeforces A. Diana and Liana 给定一个长度为\(m\)的序列,你可以从中删去不超过\(m-n*k\)个元素,剩下 ...

  2. Codeforces Round #545 Div1 题解

    Codeforces Round #545 Div1 题解 来写题解啦QwQ 本来想上红的,结果没做出D.... A. Skyscrapers CF1137A 题意 给定一个\(n*m\)的网格,每个 ...

  3. Codeforces Round #539 Div1 题解

    Codeforces Round #539 Div1 题解 听说这场很适合上分QwQ 然而太晚了QaQ A. Sasha and a Bit of Relax 翻译 有一个长度为\(n\)的数组,问有 ...

  4. [Codeforces Round #461 (Div2)] 题解

    [比赛链接] http://codeforces.com/contest/922 [题解] Problem A. Cloning Toys          [算法] 当y = 0 ,   不可以 当 ...

  5. Codeforces 7E - Defining Macros 题解

    目录 Codeforces 7E - Defining Macros 题解 前言 做法 程序 结尾 Codeforces 7E - Defining Macros 题解 前言 开始使用博客园了,很想写 ...

  6. Educational Codeforces Round 64 部分题解

    Educational Codeforces Round 64 部分题解 不更了不更了 CF1156D 0-1-Tree 有一棵树,边权都是0或1.定义点对\(x,y(x\neq y)\)合法当且仅当 ...

  7. Educational Codeforces Round 64部分题解

    Educational Codeforces Round 64部分题解 A 题目大意:给定三角形(高等于低的等腰),正方形,圆,在满足其高,边长,半径最大(保证在上一个图形的内部)的前提下. 判断交点 ...

  8. Codeforces Beta Round #62 题解【ABCD】

    Codeforces Beta Round #62 A Irrational problem 题意 f(x) = x mod p1 mod p2 mod p3 mod p4 问你[a,b]中有多少个数 ...

  9. Codeforces Good Bye 2016 题解

    好久没有fst题了...比赛先A了前4题然后发现room里有人已经X完题了没办法只能去打E题,结果差一点点打完...然后C题fst掉了结果就掉rating 了...下面放题解 ### [A. New ...

随机推荐

  1. Linux下文件权限的设置

    文件/目录权限设置命令:chmod 这是Linux系统管理员最常用到的命令之一,它用于改变文件或目录的访问权限.该命令有两种用法: 用包含字母和操作符表达式的文字设定法 ) 其语法格式为:chmod ...

  2. [转]VC++的类头文件

    本文转自:http://blog.csdn.net/forevertali/article/details/4370602   animal.h //在头文件中包含类的定义及类成员函数的声明 clas ...

  3. 获取一段HTML文本中的第一张图片与截取内容摘要

    有时候我们获得到的数据是一段HTML文本,也许这段文本里面有许多图片,需要截取一张作为标题图片,这时就可以用到下面这个方法获取到第一张图片: #region 获取第一张图片 /// <summa ...

  4. 【学习笔记】深入理解js原型和闭包(17)——补this

    本文对<深入理解js原型和闭包(10)——this>一篇进行补充,原文链接:https://www.cnblogs.com/lauzhishuai/p/10078307.html 原文中, ...

  5. vue路由导航守卫及前置后置钩子函数参数详解

    首先构建一个测试demo如下图: 接着来探讨路由配置界面 import Vue from 'vue' import Router from 'vue-router' // import HelloWo ...

  6. Mysql无法启动服务解决办法

    只需要输入:mysqld  --initialize 进行初始化,即可启动

  7. transform、transition 和 animation区别

    CSS3中和动画有关的属性有三个 transform.transition 和 animation.下面来一一说明:        transform   从字面来看transform的释义为改变,使 ...

  8. html文本溢出显示省略字符的两种常用方法

    方法一:使用CSS溢出省略的方式解决 解决效果如下: css代码: display: -webkit-box; display: -moz-box; white-space: pre-wrap; wo ...

  9. uva1439 Exclusive Access 2

    感觉这道题读题有点难..似乎和现实联系的比较密切1.每个process的两个资源可以顺序反一下2.p->q,q->s不可以同时进行 p->q,p->s可以 输出最长等待链输出每 ...

  10. ref版的 摄像头 读取 因为id的时候,id不能重复 还要用时间戳,比较麻烦

    <!-- * @description 摄像头vue版实例 * @fileName cameraObject.vue * @author 彭成刚 * @date // :: * @version ...