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 ...
随机推荐
- System.Zip
自XE2增加的System.Zip单元很好.注意事项: 1.文件压缩到文档后所使用的文件名会成为解压后的文件名,如果该文件名为指定文件名且无后缀名,那么解压出来的文件名也没有后缀名:
- LeetCode OJ:Min Stack(最小栈问题)
Design a stack that supports push, pop, top, and retrieving the minimum element in constant time. pu ...
- 学会使用Fidder抓取app的http请求(转)
fidder可以抓取http请求,抓取手机app上面的,自己pc的请求也可以截取,通过这样达到类似浏览器调试的效果,更容易找到问题. 使用原文链接:http://www.cnblogs.com/syf ...
- c# 实体处理工具类
using System; using System.Collections; using System.Collections.Generic; using System.ComponentMode ...
- (转) MapReduce Design Patterns(chapter 5 (part 2))(十)
Replicated Join Pattern Description 复制join是一种特殊的join,用于一个大数据和许多小数据集map端执行的情况. Intent 这种模式能够消除reduce阶 ...
- flowable ProcessEngine和ProcessEngineConfiguration
ProcessEngine是流程引擎,ProcessEngineConfiguration与前面四个引擎配置有些不同. ProcessEngineConfiguration增加了邮件服务和httpCl ...
- Gradle2.0用户指南翻译——第二章. 概述
翻译项目请关注Github上的地址:https://github.com/msdx/gradledoc本文翻译所在分支:https://github.com/msdx/gradledoc/tree/2 ...
- linux c++ 多线程心得
好久没写多线程了,工作好几年也没怎么大规模的写过多线程,都是成形的架构里写业务逻辑.偶尔自己写了下,各种踩坑... 1.string 不是线程安全的 一个特例是std::string.在一些STL的实 ...
- python常用模块之time&datetime模块
python常用模块之time&datetime模块 在平常的代码中,我们经常要与时间打交道.在python中,与时间处理有关的模块就包括:time和datetime,下面分别来介绍: 在开始 ...
- Ubuntu连接手机步骤
第一次使用adb之前,需要在home/.android里新建adb_usb.ini文件:0x1782. 注:adb已在安装系统后装好,手机要处于开机状态 查看设备命令: $ adb devices 正 ...