CodeForces
22A

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

int a[N];
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
if(n==1||a[0]==a[n-1]) printf("NO\n");
else
{
unique(a,a+n)-a;
printf("%d\n",a[1]);
}
}
return 0;
}

CodeForces
23A

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

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

CodeForces
23B

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

int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{scanf("%d",&n);
if(n<=2) printf("0\n");
else printf("%d\n",n-2); }
return 0;
}

CodeForces
23C

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

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

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

const int N=1e7+10;
struct zz
{
int x,y,id;
} a[N];
int cmp1(zz a,zz b)
{
return a.x<b.x;
}
int main()
{
int t,n;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
ll sum1=0,sum2=0;
for(int i=1; i<=2*n-1; i++)
{
scanf("%d%d",&a[i].x,&a[i].y);
a[i].id=i;
sum1+=a[i].x,sum2+=a[i].y;
}
sort(a+1,a+2*n,cmp1);
ll s1=0,s2=0;
for(int i=1; i<=2*n-1; i+=2)
{
s1+=a[i].x;
s2+=a[i].y;
}
printf("YES\n");//必然存在符合条件的情况。
if(s1*2>=sum1&&s2*2>=sum2)
{
for(int i=1;i<=2*n-1;i+=2)
{
printf("%d ",a[i].id);
}
}
else
{
for(int i=2;i<=2*n-1;i+=2)
{
printf("%d ",a[i].id);
}
printf("%d",a[2*n-1].id);
}
printf("\n");
}
return 0;
}

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

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. [转]Java中Date转换大全,返回yyyy-MM-dd的Date类型

    /** * 获取现在时间,这个好用 * * @return返回长时间格式 yyyy-MM-dd HH:mm:ss */ public static Date getSqlDate() { Date s ...

  2. MySQL与RAID

    RAID在mysq中适用场景 raid0:由于性能高和成本低,以及基本没有数据恢复的能力,而且它比单片磁盘损坏的概率要高.建议只在不担心数据丢失的情况下使用,如备库(slave)或者某些原因" ...

  3. AJPFX:不用递归巧妙求出1000的阶乘所有零和尾部零的个数

    package com.jonkey.test; import java.math.BigInteger; public class Test6 { /*** @param args*  需求:求出1 ...

  4. 复习-PEP8规范(转)

    PEP8 Python 编码规范 一 代码编排1 缩进.4个空格的缩进(编辑器都可以完成此功能),不使用Tap,更不能混合使用Tap和空格.2 每行最大长度79,换行可以使用反斜杠,最好使用圆括号.换 ...

  5. struct和union

    struct的小秘密 C语言中的struct可以看做变量的集合,struct的问题: 空结构体占用多大内存? 例子1:空结构体的大小 #include<stdio.h> struct ST ...

  6. centos开机直接进入命令行

    找到文件,/etc/inittab 文件,在下面有一行 id:5:initdefault: 将上面的5改成3就可以了 5是图形界面 3是命令行界面 就是文本界面.

  7. vscode 打开新文件不替换旧文件

    设置 "workbench.editor.enablePreview": false

  8. 部署 k8s Cluster(上)[转]

    我们将部署三个节点的 Kubernetes Cluster. k8s-master 是 Master,k8s-node1 和 k8s-node2 是 Node. 所有节点的操作系统均为 Ubuntu ...

  9. 创建线程的三种方式_Callable和Runnable的区别

    Java 提供了三种创建线程的方法 通过实现Runnable接口 通过继承Thread接口 通过Callable和Future创建线程 通过实现 Runnable 接口来创建线程 public cla ...

  10. numpy次方计算

    >>> 2**np.arange(3, 6) array([ 8, 16, 32])