2017 ACM-ICPC EC-Final ShangHai(思维乱搞赛)
感觉全是思维乱搞题。
Gym - 101775J Straight Master
给你n种扑克,你每次可以出连续的3 ~ 5 张,问你能否出完。
Sample Input
2
13
1 2 2 1 0 0 0 0 0 0 0 0 0
13
1 1 1 1 0 1 1 0 0 0 0 0 0 Sample Output
Case #1: Yes
Case #2: No
相当于每次把一个长度为3~5的区间整体减1,问最后是否能够全部减成0。
显然,每次把一个长度大于5的区间整体减1也是可以的,因为6 = 3+3,7 = 3+4......
所以问题就变成了每次修改一个长度大于等于3的区间。
可以先维护原本序列的差分,然后区间整体减1就相当于a[l]--, a[r+1]++。
所以只要贪心的枚举每个大于0的位置,然后找后面的离他最近的小于0的数字匹配,把前者减,后者加,就可以了。
如果最近的距离 < 3那么就是不可以。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream> using namespace std;
typedef long long LL;
const int maxn = + ; int a[maxn];
LL c[maxn]; int main()
{
int t;
scanf("%d", &t);
for (int ca = ; ca <= t; ca++)
{
memset(a, , sizeof(a));
int n;
scanf("%d", &n);
for (int i = ; i <= n; i++) scanf("%d", &a[i]);
for (int i = ; i <= n+; i++) c[i] = a[i]-a[i-]; bool flag = true;
int r = ;
for (int i = ; i <= n; i++)
{
while(c[i] > )
{
while(c[r] >= )
if (++r > n+) flag = false;
if (r-i <= ) flag = false;
if (!flag) break;
c[r] += c[i], c[i] = ;
if (c[r] > ) c[i] = c[r], c[r] = ;
}
if (!flag) break;
} printf("Case #%d: %s\n", ca, flag?"Yes":"No");
}
}
Gym - 101775L SOS
有一个长度为n的数组,Panda和Sheep轮流往一个空的位置上放 "S" 或者是 "O"。
如果有人放完后,构成一个连续的 "SOS",那么这个人就胜利。
现在是Panda先手,再两个人足够决策的情况下,谁会获胜?
平局输出"Draw"。
Sample Input
2
3
7 Sample Output
Case #1: Draw
Case #2: Panda
首先,可以看出一个必胜态一定存在一个S_ _S的情况。
如果构成了这个必胜态,n为奇数时先手胜,n为偶数时先手败。
先讨论n为奇数:
显然的一点就是当n >= 7时,一定存在一个位置,先手放S可以构成一个必胜态,此时后手是无法阻止他的。
所以n为奇数且n >= 7时,先手是必胜的。
再讨论n为偶数:
根据上面的结论,此时先手一定不想构成一个S_ _S的局面,所以第一步一定放O,来尽可能阻止后手构成此必胜态。
什么时候阻止不了呢?当放O的点左边或右边有至少8个点的时候。此时n为16。
综上,n%2 == 1 && n >= 7,先手胜;n%2 == 0 && n >= 16,后手胜;否则就是平局。
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream> using namespace std;
typedef long long LL; int main()
{
int n;
scanf("%d", &n);
for (int i = ; i <= n; i++)
{
int t;
scanf("%d", &t);
if (t% == && t >= )
printf("Case #%d: Panda\n", i);
else if (t% == && t >= )
printf("Case #%d: Sheep\n", i);
else
printf("Case #%d: Draw\n", i);
}
}
2017 ACM-ICPC EC-Final ShangHai(思维乱搞赛)的更多相关文章
- 2017 ACM/ICPC Asia Regional Shenyang Online spfa+最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 2017 ACM ICPC Asia Regional - Daejeon
2017 ACM ICPC Asia Regional - Daejeon Problem A Broadcast Stations 题目描述:给出一棵树,每一个点有一个辐射距离\(p_i\)(待确定 ...
- 2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest
2017 ACM - ICPC Asia Ho Chi Minh City Regional Contest A - Arranging Wine 题目描述:有\(R\)个红箱和\(W\)个白箱,将这 ...
- ACM ICPC China final G Pandaria
目录 ACM ICPC China final G Pandaria ACM ICPC China final G Pandaria 题意:给一张\(n\)个点\(m\)条边的无向图,\(c[i]\) ...
- 2017 ACM/ICPC Shenyang Online SPFA+无向图最长路
transaction transaction transaction Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 132768/1 ...
- 2017 ACM/ICPC Asia Regional Qingdao Online
Apple Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Total Submi ...
- CodeForces - 1228D (暴力+思维+乱搞)
题意 https://vjudge.net/problem/CodeForces-1228D 有一个n个顶点m条边的无向图,在一对顶点中最多有一条边. 设v1,v2是两个不相交的非空子集,当满足以下条 ...
- HDU - 6215 2017 ACM/ICPC Asia Regional Qingdao Online J - Brute Force Sorting
Brute Force Sorting Time Limit: 1 Sec Memory Limit: 128 MB 题目连接 http://acm.hdu.edu.cn/showproblem.p ...
- 2020 ICPC EC Final西安现场赛游记
也不知道从何说起,也不知道会说些什么,最想表达的就是很累很累. 从第一天去的时候满怀希望,没什么感觉甚至还有一些兴奋.到后来一直在赶路,感觉很疲惫,热身赛的时候觉得马马虎虎,导致热身赛被咕.然后教练就 ...
随机推荐
- HDU 5501——The Highest Mark——————【贪心+dp】
The Highest Mark Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Other ...
- MvcPager.dll使用实现无刷新分页以及MvcPager的Nuget程序包实现刷新分页
无刷新分页: 1.引入JQuery的NuGet程序包 2.引入程序包 3.引入MvcPager.dll ,MvcPager.dll文件下载链接http://pan.baidu.com/s/1hsvB ...
- JVM(一):Java内存区域与内存溢出异常
一.运行时数据区 共分为5块: 程序计数器 (线程私有,当前线程所执行的字节码的行号指示器) Java虚拟机栈 (线程私有,证明周期与线程相同,描述的是Java方法执行的内存模型,每个方法 ...
- centos7.3.1611安装及初始配置
安装前规划: 主机名称 网络配置 分区配置 分区配置 自定义分区,标准分区 /boot 200M (可选) swap 内存1.5倍到2倍(不大于8G) / 根分区(100G到200G) 其余的备用(数 ...
- nc扫描端口
nc -n -v -z -w 1 ip地址 1-1000 (端口号) 详细信息 -v 排除dns -n 不发送任何数据-z 超时设置为1秒 -w 1
- .NET中异常类(Exception)
异常:程序在运行期间发生的错误.异常对象就是封装这些错误的对象. try{}catch{}是非常重要的,捕获try程序块中所有发生的异常,如果没有捕获异常的话,程序运行的线程将会挂掉,更严重的是这些错 ...
- 性能调优--大事务与Alwayson 之间的关系
最近性能调优的事比较多,所以摘一些比较有特点的 案例分享下. 业务系统用的是sql server 2016 ,搭建的ALWAYSON 两节点的 群集,今天早上突然辅助 副本的只读库出现大量的等待导致系 ...
- cms-登陆
先介绍下登陆的思路: 1.在登陆页面首先前端验证用户名和密码是否正确,如果验证通过,则ajax的方式向后台提交数据. 2.在controller层,将得到的用户名名和密码封装进shiro的token, ...
- firefox 提示 ssl_error_unsupported_version 的解决方法
访问一些HTTPS网站时尤其是国内网站 中文提示: 无法安全地连接 Firefox 无法保证您在 sx.ac.10086.cn 上的数据安全性,因为它使用 SSLv3,一个目前安全性欠佳的安全协议.专 ...
- SAP成都研究院马洪波:提升学习力,增强竞争力,收获一生乐趣
马洪波是SAP成都研究院CEC开发团队三大巨头之一.关于他的背景介绍,参考我以前的公众号文章:SAP成都研究院CEC团队三巨头之一:M君的文章预告. 其实早在2007年,互联网上已经有介绍马洪波的文章 ...