codechef January Challenge 2017 简要题解
https://www.codechef.com/JAN17
Cats and Dogs
签到题
#include<cstdio>
int min(int a,int b){return a<b?a:b;}
int main(){
int T,a,b,c;
for(scanf("%d",&T);T;--T){
scanf("%d%d%d",&a,&b,&c);
puts(c%==&&c/<=a+b&&c/>=a+b-min(a,b*)?"yes":"no");
}
return ;
}
Reservior
按题目要求模拟
#include<cstdio>
int T,n,m;
char s[][];
int main(){
for(scanf("%d",&T);T;--T){
scanf("%d%d",&n,&m);
for(int i=;i<=m+;++i)s[][i]='A',s[n+][i]='B';
for(int i=;i<=n;++i)scanf("%s",s[i]+),s[i][]=s[i][m+]='A';
for(int i=;i<=n;++i){
for(int j=;j<=m;++j){
if(s[i][j]=='W'){
if(s[i][j-]=='A'||s[i][j+]=='A'||s[i+][j]=='A')goto no;
}else if(s[i][j]=='B'){
if(s[i+][j]=='A'||s[i+][j]=='W')goto no;
}
}
}
puts("yes");
continue;
no:puts("no");
}
return ;
}
Capital Movement
排序后用时间戳打标记然后暴力找未被标记的最值
Tourists in Mancunia
求欧拉回路
Digits Cannot Separate
f[i][j]表示考虑了1..i,分了j段所能得到的gcd的集合,用set维护,实际状态数很少,可以暴力转移
Chef and Circle
二分答案,判定时枚举每一个点A,让一个指定半径的圆O绕点A转一周(A在圆上),记录其他点在圆内时对应的 射线AO 所处的方向区间,求一下某个方向最多被区间覆盖多少次即对应最多有几个点在圆内
Fantastic Four
随机求出10^6以内的每个数的任意一组解,然后线段树维护区间内数的积对应的解,可以按四平方和恒等式合并答案,常数较大,需要O(1)的快速乘
Sereja and BOX
最大值可以贪心,最小值用dp
Sereja and Circles
这题比较坑。。没想到太好的写法。。
整点这个限制不重要,对答案影响在1以内,所以先不管
那么这时,能否得到得分ans,等价于正方形区域边长和每个圆的直径都增加ans后,能否将所有圆不相交地放入正方形
由于强制在线,没法二分答案,那么可以用随机数据本地找出一个自己的程序一般能比较保险出解的上界,然后把答案定下来,以此为目标分
实测表明,每次放球放在最低点(当然重力方向可以不是竖直向下)的效果很好。。这样能水到90~100分。。我写的是从左上向右下放,rank1写的貌似是将圆从四周向中间放再加一些优化
另外可以尝试区分第三、四类数据,但对总分影响较小
Coprime 6-tuples
若已得到mod 359999意义下每个乘积的出现次数,则可以用 莫比乌斯反演 算出答案,注意特判0
359999=599*601,将mod 359999意义下的数用mod 599,601的值组成的有序对表示,则有(0,0),(0,b),(a,0),(a,b)四种形式,其中a,b非零,对非零的情况取离散对数,然后可以用二维fft求出每个乘积的出现次数,若a=0或b=0,可以直接暴力求解
codechef January Challenge 2017 简要题解的更多相关文章
- codechef January Lunchtime 2017简要题解
题目地址https://www.codechef.com/LTIME44 Nothing in Common 签到题,随便写个求暴力交集就行了 Sealing up 完全背包算出得到长度≥x的最小花费 ...
- codechef February Challenge 2018 简要题解
比赛链接:https://www.codechef.com/FEB18,题面和提交记录是公开的,这里就不再贴了 Chef And His Characters 模拟题 Chef And The Pat ...
- CodeChef November Challenge 2013 部分题解
http://www.codechef.com/NOV13 还在比...我先放一部分题解吧... Uncle Johny 排序一遍 struct node{ int val; int pos; }a[ ...
- codechef January Challenge 2014 Sereja and Graph
题目链接:http://www.codechef.com/JAN14/problems/SEAGRP [题意] 给n个点,m条边的无向图,判断是否有一种删边方案使得每个点的度恰好为1. [分析] 从结 ...
- CodeChef June Challenge 2017
好气啊,本来以为比赛时间还有很多,结果回家养病两天回到学校怎么比赛就结束了(雾),大约是小高考弄错了时间? 挑3道有意思的写写题解吧. Cloning 题目大意:给一个序列,每次询问两个等长区间,问区 ...
- JXOI 2017 简要题解
「JXOI2017」数列 题意 九条可怜手上有一个长度为 \(n\) 的整数数列 \(r_i\) ,她现在想要构造一个长度为 \(n\) 的,满足如下条件的整数数列 \(A\) : \(1\leq A ...
- CF&&CC百套计划2 CodeChef December Challenge 2017 Chef And Easy Xor Queries
https://www.codechef.com/DEC17/problems/CHEFEXQ 题意: 位置i的数改为k 询问区间[1,i]内有多少个前缀的异或和为k 分块 sum[i][j] 表示第 ...
- CF&&CC百套计划2 CodeChef December Challenge 2017 Chef and Hamming Distance of arrays
https://www.codechef.com/DEC17/problems/CHEFHAM #include<cstdio> #include<cstring> #incl ...
- CF&&CC百套计划2 CodeChef December Challenge 2017 Total Diamonds
https://www.codechef.com/DEC17/problems/VK18 #include<cstdio> #include<iostream> #includ ...
随机推荐
- 【nynu】 妹妹的工资怎么算(二分)
题目链接:http://47.93.252.151/problem.php?id=1148 题目描述 <我的妹妹哪有这么可爱!>中的女主叫做高坂桐乃,高坂家的幺女,外表出众.成绩优秀.运动 ...
- 设置tableview 右侧 索引字体的大小
- 使用LeakCanary进行内存泄漏追踪
LeakCanary使用 1.在build.gradle 中 dependencies { //添加 debugCompile 'com.squareup.leakcanary:lea ...
- Struts2开发步骤
第一步:新建we项目 新建名称为“Struts"的web工程,新建方法:File->New->Web Service Project->Profect Name中输入:St ...
- 基于AMBA总线的SPI协议IP核的设计与验证
https://wenku.baidu.com/view/9542213131126edb6f1a1048.html?mark_pay_doc=2&mark_rec_page=1&ma ...
- 如何查看PHP的配置信息
1.问题描述 如何利用PHP函数查看PHP的配置信息 2.问题函数 <?php echo phpinfo(); ?> 3.输出结果 phpinfo() PHP Version => ...
- OpenGL实现相机视频NV21格式转RGB格式
笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解 ...
- python常用模块之shutil模块
python常用模块之shutil模块 shutil模块,高级的文件.文件夹.压缩包处理模块 1.shutil.copyfile(src,des[,length]):将文件内容拷贝到另一个文件 In ...
- iOS开发错误汇总
人非圣贤孰能无过 dyld: Library not loaded: /... 过而能改善莫大焉 iOS下dyld: Library not loaded: 错误信息解决方案
- Codeforces 828C String Reconstruction【并查集巧妙运用】
LINK 题目大意 给你n个串和在原串中的出现位置,问原串 思路 直接跑肯定是GG 考虑怎么优化 因为保证有解,所以考虑过的点我们就不再考虑 用并查集维护当前每个点之后最早的没有被更新过的点 然后就做 ...