【题外话:我......不补了......】

2015 ICL, Finals, Div. 2:http://codeforces.com/gym/100637

G. #TheDress【水】

(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 ;
}

K. Microcircuits【dp】

题意: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 ;
}

B. Lunch【规律题】

有个讲得很清晰的题解: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 ;
}

A. Nano alarm-clocks

参考题解: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】的更多相关文章

  1. 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 ...

  2. CF 2015 ICL, Finals, Div. 1 J. Ceizenpok’s formula [Lucas定理]

    http://codeforces.com/gym/100633/problem/J Lucas定理P不是质数裸题 #include <iostream> #include <cst ...

  3. position:fixed和scroll实现div浮动【示例】

    前言 在自己建站的过程中,要实现一个div随滚动条浮动的效果,网上找了些示例不太好用,还是自己动手,丰衣足食,写的不好请大家谅解,毕竟我不是搞前端的,因为自己建站毕竟每一步都必须自己来,这边只是做个记 ...

  4. Selenium2+python自动化26-js处理内嵌div滚动条【转载】

    前言 前面有篇专门用js解决了浏览器滚动条的问题,生活总是多姿多彩,有的滚动条就在页面上,这时候又得仰仗js大哥来解决啦. 一.内嵌滚动条 1.下面这张图就是内嵌div带有滚动条的样子,记住它的长相.

  5. Codeforces Round #382 Div. 2【数论】

    C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...

  6. 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 ...

  7. Codeforces Round #411 (Div. 2) 【ABCDE】

    A. Fake NP 题意:给你l,r,让你输出[l,r]里面除1以外的,出现因子数量最多的那个数. 题解:如果l==r输出l,否则都输出2 #include<bits/stdc++.h> ...

  8. C. Ayoub and Lost Array Round #533 (Div. 2) 【DP】

    一.题面 链接 二.分析 关于这题,两个点. 第一个点,是需要能够分析出$[L,R]$区间的3的余数的个数. 首先,可以得到,$[L,R]$区间内共有$(R-L+1)$个数. 设定余数为0,1,2的为 ...

  9. D. Minimum Diameter Tree Round #528 (Div. 2)【树】

    一.题面 题目链接 二.分析 该题注意读题的时候有强调边的权值为非负(即可以为0),此题就是求树两个叶子节点之间的最短距离.为了使两个叶子节点之间的距离最短,那么其实就是让每个最后到叶子的那条路径尽量 ...

随机推荐

  1. Web服务的调用

    1.创建服务引用 例如:天气预报 2.在代码添加引用空间 TvProgram.ChinaTVprogramWebService tp = new TvProgram.ChinaTVprogramWeb ...

  2. tcpcopy架构

    tcpCopy 1.0 的最新架构分为三个角色: Online Server(OS):上面要部署 TCPCopy,从数据链路层(pcap 接口)抓请求数据包,发包是从IP层发出去: Test Serv ...

  3. EF 多种查询方式

    比较常用的查询方式linq to entity,这里先看一种写法: var query = (from d in testContext.Set<DepartPerson>() //查询和 ...

  4. mac 下mongodb connect failed 连接错误

    我是用brew install mongod 安装的 MongoDB shell version v3.4.2connecting to: mongodb://127.0.0.1:270172017- ...

  5. BZOJ3672: [Noi2014]购票(dp 斜率优化 点分治 二分 凸包)

    题意 题目链接 Sol 介绍一种神奇的点分治的做法 啥?这都有根树了怎么点分治?? 嘿嘿,这道题的点分治不同于一般的点分治.正常的点分治思路大概是先统计过重心的,再递归下去 实际上一般的点分治与统计顺 ...

  6. swiper h5学习

    http://www.swiper.com.cn/ 较多用于移动端

  7. opencv3.2.0形态学滤波之腐蚀

    /* 腐蚀(erode)含义: 腐蚀和膨胀是相反的一对操作,所以腐蚀就是求局部最小值的操作,腐蚀操作使原图中 国的高亮部分被腐蚀,效果图比原图有更小的高亮的区域. 腐蚀函数原型API及参数同膨胀相同 ...

  8. mac上显示.开头的文件

    第一种方法是在finder中按下command+shift+.键. 第二种方法是在命令行输入如下命令 defaults write com.apple.Finder AppleShowAllFiles ...

  9. 180328_gVim设置tab为4个空格

    找到gVim安装目录 C:\Program Files (x86)\Vim\ 更改目录下的 _vimrc 文件,这是一个只读文件,需要管理员权限进行修改和保存. 在文件末尾添加下列内容: set ts ...

  10. stm32f103各个型号芯片之间程序移植(stm32的兼容问题)

    1.stm32f103系列的各个型号的芯片差别一般不大,都是一些flash大小不一样,一般是向下兼容(大容量芯片兼容中容量芯片)还有晶振大小不一样.                           ...