2015 ICL, Finals, Div. 2【ABFGJK】
【题外话:我......不补了......】
2015 ICL, Finals, Div. 2:http://codeforces.com/gym/100637
(strstr函数真好用......)
代码:
#include<bits/stdc++.h>
using namespace std;
char s[];
int main() {
int n, i;
scanf("%d ", &n);
int x = , y = , z = ;//地球人,外星人,其他人
for(i = ; i <= n; ++i) {
gets(s);
if(strstr(s, "blue") && strstr(s, "black")) x++;
else if(strstr(s, "white") && strstr(s, "gold")) y++;
else z++;
}
printf("%.10f\n", x*100.0/(x+y+z));
printf("%.10f\n", y*100.0/(x+y+z));
printf("%.10f\n", z*100.0/(x+y+z));
return ;
}
F. The Pool for Lucky Ones【暴力】
题意:泳池有N个水道,假设水道人数最多的水道里的人都是不快乐的(可以有多个水道同时人数最多),现在允许你移动任意一个人到相邻水道(可以不移动),求最少的不快乐的人数。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[], b[];//水道的人数 和 人数相同的水道数
int main() {
int n, i, j;
ll ans = , ma = ;
scanf("%d ", &n);
for(i = ; i <= n; ++i) {
scanf("%d", &a[i]);
b[a[i]]++;
ma = max(1ll*a[i], ma);
}
ans = 1l * ma * b[ma];
for(i = ; i <= n; ++i) {
if(!a[i]) continue;
if(i != n) {//从前往后移一个人
b[a[i]]--; b[a[i]-]++;
b[a[i+]]--; b[a[i+]+]++;
for(j = ma+; j > ; --j) {
if(b[j] > ) {
ans = min(ans, 1ll*b[j]*j);
break;
}
}
b[a[i]]++; b[a[i]-]--;
b[a[i+]]++; b[a[i+]+]--;
}
if(i != ) {//从后往前移一个人
b[a[i]]--; b[a[i]-]++;
b[a[i-]]--; b[a[i-]+]++;
for(j = ma+; j > ; --j) {
if(b[j] > ) {
ans = min(ans, 1ll*b[j]*j);
break;
}
}
b[a[i]]++; b[a[i]-]--;
b[a[i-]]++; b[a[i-]+]--;
}
}
printf("%lld\n", ans);
return ;
}
题意:N个点放在环上,现在要不相交的连K条线,求方案数。
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll dp[][];//dp[i][j]:i个点连j条边的方案数
int main() {
int n, k, i, j, p, q;
scanf("%d%d", &n, &k);
for(i = ; i <= n; ++i) dp[i][] = ;
for(i = ; i <= n; ++i) {
for(j = ; j <= k; ++j) {
dp[i][j] = dp[i-][j];
for(p = ; p < i; ++p) {//枚举连到哪个点
for(q = ; q < j; ++q) {//枚举子问题连边数
dp[i][j] += dp[p-][q] * dp[i--p][j--q];
}
}
}
}
printf("%lld\n", dp[n][k]);
return ;
}
有个讲得很清晰的题解:https://www.cnblogs.com/jerryRey/p/4676072.html
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int n, s, f, ans = , i, j;
scanf("%d%d%d", &n, &s, &f);
if(f < s) swap(s, f);
if(s+ == f) {
if(s > && f < n) puts("-1");
else puts("");
}
else {
if(s > ) ans++, s++;
if(f < n) ans++, f--;
ans += (f-s)/ + (f-s)%;
printf("%d\n", ans);
}
return ;
}
参考题解:https://www.cnblogs.com/liuweimingcprogram/p/5766622.html
J. Superfactorial numeral system【构造】
题意:给p,q,求满足该式
的a序列。a[1]≥0,其他0≤a[k]≤k。
【注意用long long......】
代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
ll p, q, x = ;
scanf("%lld%lld", &p, &q);
while(p) {
p *= x;
printf("%lld ", p/q);
p %= q;
x++;
}
puts("");
return ;
}
2015 ICL, Finals, Div. 2【ABFGJK】的更多相关文章
- 2015 ICL, Finals, Div. 1 Ceizenpok’s formula(组合数取模,扩展lucas定理)
J. Ceizenpok’s formula time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- CF 2015 ICL, Finals, Div. 1 J. Ceizenpok’s formula [Lucas定理]
http://codeforces.com/gym/100633/problem/J Lucas定理P不是质数裸题 #include <iostream> #include <cst ...
- position:fixed和scroll实现div浮动【示例】
前言 在自己建站的过程中,要实现一个div随滚动条浮动的效果,网上找了些示例不太好用,还是自己动手,丰衣足食,写的不好请大家谅解,毕竟我不是搞前端的,因为自己建站毕竟每一步都必须自己来,这边只是做个记 ...
- Selenium2+python自动化26-js处理内嵌div滚动条【转载】
前言 前面有篇专门用js解决了浏览器滚动条的问题,生活总是多姿多彩,有的滚动条就在页面上,这时候又得仰仗js大哥来解决啦. 一.内嵌滚动条 1.下面这张图就是内嵌div带有滚动条的样子,记住它的长相.
- Codeforces Round #382 Div. 2【数论】
C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...
- Tinkoff Challenge - Final Round (Codeforces Round #414, rated, Div. 1 + Div. 2) 【ABC】
老年人题解,语言python3 A - Bank Robbery 题意:给你ABC,以及n个数,问你在(B,C)之间的数有多少个. 题解:对于每个数判断一下就好了嘛 x,y,z = map(int,i ...
- Codeforces Round #411 (Div. 2) 【ABCDE】
A. Fake NP 题意:给你l,r,让你输出[l,r]里面除1以外的,出现因子数量最多的那个数. 题解:如果l==r输出l,否则都输出2 #include<bits/stdc++.h> ...
- C. Ayoub and Lost Array Round #533 (Div. 2) 【DP】
一.题面 链接 二.分析 关于这题,两个点. 第一个点,是需要能够分析出$[L,R]$区间的3的余数的个数. 首先,可以得到,$[L,R]$区间内共有$(R-L+1)$个数. 设定余数为0,1,2的为 ...
- D. Minimum Diameter Tree Round #528 (Div. 2)【树】
一.题面 题目链接 二.分析 该题注意读题的时候有强调边的权值为非负(即可以为0),此题就是求树两个叶子节点之间的最短距离.为了使两个叶子节点之间的距离最短,那么其实就是让每个最后到叶子的那条路径尽量 ...
随机推荐
- Java常见对象之String
String类的概述 String 类代表字符串.Java 程序中的所有字符串字面值(如 "abc" )都作为此类的实例实现.字符串是常量,一旦被赋值,就不能被改变. String ...
- MySQL6:视图
什么是视图 数据库中的视图是一个虚拟表.视图是从一个或者多个表中导出的表,视图的行为与表非常相似,在视图中用户可以使用SELECT语句查询数据,以及使用INSERT.UPDATE和DELETE修改记录 ...
- Java Swing实战(三)文本组件JTextField和密码组件JPasswordField
接下来添加文本组件JTextField和密码组件JPasswordField. /** * @author: lishuai * @date: 2018/11/26 13:51 */ public c ...
- spring boot入门笔记 (三) - banner、热部署、命令行参数
1.一般项目启动的时候,刚开始都有一个<spring>的标志,如何修改呢?在resources下面添加一个banner.txt就行了,springboot会自动给你加载banner.txt ...
- 分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC (转载 不错)
分布式理论基础(一)一致性及解决一致性的两种方式:2PC和3PC 1 一致性 1.1 简述 一致性,是指对每个节点一个数据的更新,整个集群都知道更新,并且是一致的 假设一个具有N个节点的分布式系统,当 ...
- linux 用vi命令的使用以及vi编辑后的后续保存退出等相关命令的使用
一.首先用vi命令打卡要编辑的文件: 注意:vi命令的使用如下 打开或新建文件,并将光标至于第一行首:[root@centos6 /]# vi /etc/my.cnf 打开文件,并将光标移至最后一行行 ...
- 查看Linux 、Nginx、 MySQL 、 PHP 版本的方法
参考:查看Linux .Apache . MySQL . PHP 版本的方法 1.查看Linux版本: uname -a: more /etc/issue; cat /proc/version; 2. ...
- maven 安装下载与配置 代理设置 《解决下载慢问题》
maven:下载地址http://mirror.bit.edu.cn/apache/maven/maven-3/ 解压之后配置环境 %maven_home% d:\*****path 中添加 %ma ...
- Android 图板之保存图像
(1)为了能适应多种屏幕尺寸的手机,我们在创建图像的时候就要根据用户手机屏幕的宽高像素来创建. (2)该软件将把图形保存到sdcard中,在保存之前,需要检测sdcard是否存在,是否可写入.如通过以 ...
- PS制作gif动图以及背景透明与消除残影
摘要: 用Photoshop制作gif动画的要点:在窗口菜单中找到“时间轴”选中打开时间轴,单击一帧,设置该帧显示持续时间在图层里将该帧要显示的图层显示,并将不该显示的层隐藏,新建一帧,接下来就是重复 ...