Codeforces Round #388 (Div. 2) A+B+C!
任何一个数都可以由1和2组成,由于n是大于等于2的,也就是可以由2和3组成。要求最多的素数即素数越小越好,很明显2越多越好,如果n为奇数则再输出一个3即可。
int main()
{
int n;
while(~scanf("%d",&n))
{
int k=n/2;
printf("%d\n",k);
for(int i=1;i<k;i++)
printf("2 ");
if(n%2) printf("3\n");
else printf("2\n");
}
return 0;
}
唉,小心使得万年船,可是智者千虑必有一失。被CF坑怕了于是再次被坑。
题意:给你三个不同的点,不在同一条直线上,求最多有多少种方法加一个点使得四个点构成平行四边形。
思路:其实这三个不在同一条直线上那么必然会有三种情况(某一个点以另外两个点所连成的边的对称点)。
但前几次CF被数据范围坑惨了,看到题目的范围以为所有的点必须在这个范围内,结果WA了一发,回过头发现是输出在这个范围内而已。
int main()
{
int x1,y1,x2,y2,x3,y3;
scanf("%d%d%d%d%d%d",&x1,&y1,&x2,&y2,&x3,&y3);
int a1,b1,a2,b2,a3,b3,f1=0,f2=0,f3=0;
a1=x2+x3-x1,b1=y2+y3-y1;//点关于线段对称
a2=x1+x3-x2,b2=y1+y3-y2;
a3=x2+x1-x3,b3=y2+y1-y3;
printf("3\n");
printf("%d %d\n",a1,b1);
printf("%d %d\n",a2,b2);
printf("%d %d\n",a3,b3);
return 0;
}
题意:还是有点不明白。投票选举,有n个候选人,每个人每次可以否定另外一个人,被否定的人没有资格进行选举了,每轮从编号为1到n开始阐述。题目说轮到某个人时这个人不再有选举权,这里搞得我稀里糊涂的,还是英语太菜。
思路:没看懂题结合样例以为贪心策略就是每次都把最靠前的干掉,然后看最后谁留下来了。然而终判跪在21组。看了很多人的提交代码(基本上一个样),大概是题意不清,按AC代码的理解思路应该是每次干掉比自己编号大的,如果没有再循环找。但这里就容易超时了,于是用队列分别把位置存起来,每次比较把小的加入队列里,看最后谁剩下来了。
int main()
{
int n;
while(~scanf("%d%s",&n,s))
{
memset(v,0,sizeof(v));
queue<int>qd;
queue<int>qr;
for(int i=0;i<n;i++)
{
if(s[i]=='D') qd.push(i);
else qr.push(i);
}
while(qr.size()||qd.size())
{
if(!qd.size()||!qr.size())
{
if(!qd.size()) printf("R\n");
else printf("D\n");
break;
}
int pd=qd.front();
qd.pop();
int pr=qr.front();
qr.pop();
if(pr<pd) qr.push(pr+n);//很巧妙的解决了循环问题
else qd.push(pd+n);//大的被干掉了。
}
}
return 0;
}
咸鱼终究无法翻身,C题做出来了又是在终判的时候跪了,居然还能跑20多组样例。。D题跪了两发最终没过,得用二分写。
Codeforces Round #388 (Div. 2) A+B+C!的更多相关文章
- Codeforces Round #388 (Div. 2)
# Name A Bachgold Problem standard input/output 1 s, 256 MB x6036 B Parallelogram is Back s ...
- Codeforces Round #388 (Div. 2) - C
题目链接:http://codeforces.com/contest/749/problem/C 题意:给定一个长度为n的D/R序列,代表每个人的派别,然后进行发表意见,顺序是从1到n.每个人到他的回 ...
- Codeforces Round #388 (Div. 2) - B
题目链接:http://codeforces.com/contest/749/problem/B 题意:给定平行四边形的3个点,输出所有可能的第四个点. 思路:枚举任意两个点形成的直线,然后利用这两个 ...
- Codeforces Round #388 (Div. 2) - A
题目链接:http://codeforces.com/contest/749/problem/A 题意:给定一个数n,求把n分解成尽量多的素数相加.输入素数个数和具体方案. 思路:因为要尽量多的素数, ...
- Codeforces Round #388 (Div. 2) A,B,C,D
A. Bachgold Problem time limit per test 1 second memory limit per test 256 megabytes input standard ...
- Codeforces Round #388 (Div. 2) 749E(巧妙的概率dp思想)
题目大意 给定一个1到n的排列,然后随机选取一个区间,让这个区间内的数随机改变顺序,问这样的一次操作后,该排列的逆序数的期望是多少 首先,一个随机的长度为len的排列的逆序数是(len)*(len-1 ...
- Codeforces Round #388 (Div. 2) D
There are n people taking part in auction today. The rules of auction are classical. There were n bi ...
- Codeforces Round #388 (Div. 2) C. Voting
题意:有n个人,每个人要么是属于D派要么就是R派的.从编号1开始按顺序,每个人都有一次机会可以剔除其他任何一个人(被剔除的人就不在序列中也就失去了剔除其他人的机会了):当轮完一遍后就再次从头从仅存的人 ...
- Codeforces Round #366 (Div. 2) ABC
Codeforces Round #366 (Div. 2) A I hate that I love that I hate it水题 #I hate that I love that I hate ...
随机推荐
- java基本数据类型在栈中怎么存放的?
参考地址:https://www.zhihu.com/question/24747160 问:int a = 3; 首先它会在栈中创建一个变量为a的引用,然后查找有没有字面值为3的地址,没找到,就开辟 ...
- LINUX 文件夹打包
tar -zcvf /data/www.tar.gz data/www tar -zcvf 打包后生成的文件名全路径 要打包的目录 压缩: 压缩当前的文件夹 zip -r ./xahot.zip ./ ...
- AJPFX关于面向对象之封装,继承,多态 (下)
(3)private: 对于对于成员来说:只能在该成员隶属于的类中访问. 对于类来说:类不可以声明为private. 4)protected: 对于对于成员来说:相同包中的类可以访问(包访问权限):基 ...
- Andriod 简介
Andriod系统采用分层架构,分为4层: 应用程序层(Applications) 包含所有安装在手机上的应用程序(包括系统自带的程序) 应用程序框架层(Application Framework) ...
- 正则表达式中的?=,?!,?<=,?<!(预查)解释小栗子
之前在学正则表达式的时候学的并不是很透彻 感觉看看元字符(元字符要用 \ 转义),限定符(^开头 $结尾), 前面写个范围[a-z],在后面写个{n,}能匹配就行了 当时的自己 然而昨天我参加了个 ...
- 激活eclipse自动提示功能
eclipse设置: Window->Preferences->Java->Editor->Content Assist
- PMP项目管理学习笔记(4)——项目整合管理
六个整合管理过程. 1.制定项目章程 一个新项目要完成的第一件事,就是项目章程的制定.这是授权你开展工作的文档.不过并不总是需要你介入,通常情况下会由赞助人交给你.如果没有项目章程,你就没有权利告诉你 ...
- 读取Chrome书签文件
使用C#读取Chrome浏览器的本地书签文件,当前文件在C盘下用户文件夹\AppData\Local\Google\Chrome\User Data\Default\下的Bookmarks 打开这个文 ...
- CSS3实现单行、多行文本溢出(省略号的形式出现)
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Navicat工具备份还原mysql数据库详细图解
Navicat是个很不错的MYSQL数据库管理工具,我们常用的还web形式的phpmyadmin和font这三种了,都是非常不错的mysql管理工具.因为Navicat工具兼容性比较好,操作也比较简单 ...