比赛链接:https://www.codechef.com/FEB18,题面和提交记录是公开的,这里就不再贴了 Chef And His Characters 模拟题 Chef And The Patents 模拟题 Permutation and Palindrome 模拟题 Car-pal Tunnel 结论比较简单 Broken Clock 求余弦的n倍角,可以用复数的快速幂解决 $cos(a)=x \\ sin(a)=\sqrt{1-x^2} \\ cos(na) = Re((x+\sq…
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+…
题目链接  Broken Clock   中文题面链接 令$cos(xα) = f(x)$ 根据三角函数变换公式有 $f(x) = \frac{2d}{l} f(x-1) - f(x-2)$ 我们现在要求的是$l * f(t)$,把$f(t)$表示成$\frac{p}{q}$的形式 令$f(x) = \frac{g(x)}{l^{x}}$,那么$g(x) = p, l^{x} = q$ $\frac{g(x)}{l^{x}} = \frac{2d}{l} * \frac{g(x-1)}{l^{x…
题目链接  Points Inside A Polygon 题意  给定一个$n$个点的凸多边形,求出$[ \frac{n}{10}]\ $个凸多边形内的整点. 把$n$个点分成$4$类: 横坐标奇,纵坐标奇 横坐标奇,纵坐标偶 横坐标偶,纵坐标奇 横坐标偶,纵坐标偶 根据鸽笼原理,这$4$类点中至少有一类点数目不小于$[ \frac{n}{4}]\ $ 每一个类别中,每两个点的中点肯定为整点,并且当这两个点不在凸多边形上相邻的时候, 他们一定在凸多边形内. 那么把这$4$个类别里面的点分别处理…
Codechef October Challenge 2018 游记 CHSERVE - Chef and Serves 题目大意: 乒乓球比赛中,双方每累计得两分就会交换一次发球权. 不过,大厨和小厨用了另外一种规则:双方每累计得 K 分才会交换发球权.比赛开始时,由大厨发球. 给定大厨和小厨的当前得分(分别记为 P1 和 P2),请求出接下来由谁发球. 思路: \((P1+P2)\%K\)判断奇偶性即可. 代码链接 BITOBYT - Byte to Bit 题目大意: 在字节国里有三类居民…
Codechef September Challenge 2018 游记 Magician versus Chef 题目大意: 有一排\(n(n\le10^5)\)个格子,一开始硬币在第\(x\)个格子里.\(m(m\le10^4)\)次操作,每次交换指定的两个格子.问最后硬币在第几个格子里. 思路: 按题意模拟即可. 源代码: #include<cstdio> #include<cctype> inline int getint() { register char ch; whi…
原文链接http://www.cnblogs.com/zhouzhendong/p/9010945.html 题目传送门 - Codechef STMINCUT 题意 在一个有边权的无向图中,我们定义$S$和$T$的最小割为,要使得不存在$S$和$T$之间的路径需要删去的边的最小边权和. 给定$N×N$的二维数组$A$,你可以令数组的任意元素加上一个非负整数(每个元素加上的数可以不同).加完后,数组$A$应当满足这一条件:存在$N$个节点的图$G$(节点编号为$1$∼$N$),使 得对于任意$i…
http://www.codechef.com/NOV13 还在比...我先放一部分题解吧... Uncle Johny 排序一遍 struct node{ int val; int pos; }a[MAXN]; int cmp(node a,node b){ return a.val < b.val; } int main(){ int T,n,m; while(cin>>T){ while(T--){ cin>>n; ; i < n ; i++){ cin>&…
传送门 好久没写题解了,就过来水两篇. 对于每一个人,考虑一个序列$A$,$A_I$表示当k取值为 i 时的答案. 如果说有两个人,我们可以把$(A+B)^k$二项式展开,这样就发现把两个人合并起来的操作就是一次卷积,直接NTT就可以了. 同类人有多个,直接暴力肯定是不行的.快速幂的话不知道会不会T,我是用了多项式取ln和exp(拉板子). #include<cmath> #include<cstdio> #include<cstring> #include<al…
目录 「JXOI2018」游戏 题意 题解 代码 「JXOI2018」守卫 题意 题解 代码 「JXOI2018」排序问题 题意 题解 代码 总结 「JXOI2018」游戏 题意 可怜公司有 \(n\) 个办公室,办公室编号是 \(l\sim l+n-1\) ,可怜会事先制定一个顺序,按照这个顺序依次检查办公室.一开始的时候,所有办公室的员工都在偷懒,当她检查完编号是 \(i\) 的办公室时候,这个办公室的员工会认真工作,并且这个办公室的员工通知所有办公室编号是 \(i\) 的倍数的办公室,通知…
题目地址https://www.codechef.com/LTIME44 Nothing in Common 签到题,随便写个求暴力交集就行了 Sealing up 完全背包算出得到长度≥x的最小花费,然后对每条边的长度向上取整分别算一下.本来也是签到题的结果我调了1h+.. Segment Queries 定义连续段为被激活的极长子串,一条线段被激活当且仅当它的两个端点在同一个连续段,用set和并查集维护连续段内的询问,修改时当前点成为新的连续段,并和两侧连续段(如果有)启发式合并一下,O(n…
从这里开始 Day 1 Problem A 考虑贪心地选取极大非 0 段减少. 如果两次操作有交,并且不是包含关系,那么把其中一次操作的,但另一次没有操作的移过去,然后就变成了上面那个贪心了. Code #include <iostream> #include <cstdlib> #include <cstdio> using namespace std; typedef bool boolean; const int N = 1e5 + 5; int n; int r…
传送门 (要是没有tjm(Sakits)的帮忙,我还真不知道啥时候能做出来 结论是第一次带走尽可能少的动物,使未带走的动物不冲突,带走的这个数量就是最优解. 首先这个数量肯定是下界,更少的话连第一次都带不走. 然后考虑带过去之后把某一只留在对岸,剩下的全部随身携带,这时有了一个空位,就可以慢慢把与留下的动物无关联的都挪到对岸去.再把随身携带的动物中与未到达对岸的任何一只都无关联的动物留着,其余的(包括之前单出来的)随身携带,这时有了一个空位可以再次慢慢挪. 唯一的特殊情况是某一个点连接了剩余所有…
传送门 (虽然是A了但是不知道复杂度是不是正确的 考虑以某个位置为结尾的合法划分 先考虑min,带来的影响是限制了最小长度,预处理出这个最小长度后,这可以在处理到这个数时,把不能算的部分去掉(不满足min条件的话必定满足max条件). 单独考虑max条件 对于每一个数,找出以它为最大值的区间后,暂时不考虑min,就只限制了划分的最大长度,这时分类讨论一下(见代码),有一部分需要暴力处理(不会证复杂度) #include<cstdio> #include<algorithm> #de…
传送门 首先整个矩阵可以被分为很多小矩阵,小矩阵内所有行的单调性是一样的,所有列的单调性是一样的. 考虑如何在这样一个小矩阵中找出答案.我的策略是每次取四个角中最大值和最小值的点,这样可以每次删掉一行或一列,代价就是行数+列数. 稍微思考一下小矩形可能的分布,一是行分两块,列分两块,这样总共4个小矩形.二是所有行(或列)都是一致的,而列(或行)可以任意分.前者最多两个小矩形需要处理,且行列之和为2n,后者则是一个矩形,最大代价也是2n. 最开始花2n的代价查出每行每列的单调性. #include…
传送门 几波树形dp就行了. #include<cstdio> #include<cstring> #include<algorithm> #define MN 5100000 using namespace std; ]; int n,m,t,x,y,st[MN],c[MN],s[MN],S[MN],num,l[MN],pdf[MN],nm; long long ans[MN]; ]; inline ;} void pre(int x,int f){ bo[x]=;p…
传送门 外边二分,里面拿线段树维护贪心就行了. #include<cstdio> #include<vector> #include<cstring> #include<algorithm> #define MN 110000 #define lp p<<1 #define rp p<<1|1 using namespace std; vector<int> v[MN]; ]; bool cmp(int x,int y){…
传送门 一开始还手动拓欧找规律,发现好像玩不了. 然后想了想,A-B这个数比较小,枚举它的因子判断合不合法就行了. 需要特判A=B的情况. #include<cstdio> #include<algorithm> #define ll long long #define ld long double using namespace std; ll a,b,n,c,t,d,A,B; int i; ; inline void MM(ll &a,ll M){while(a>…
传送门 首先(想了很久之后)注意到一个性质:同一条边有多种颜色的话保留3种就可以了,这是因为假如最优解要求当前位置与相邻两条边都不相同,那么只要有3条边,就肯定可以满足这一点. 完事就做一个nlogn*3^4的倍增dp就行了……实际肯定是跑不满的(而且cc机子快). #include<cstdio> #include<cstring> #include<algorithm> #define MN 510000 using namespace std; ],_F[MN][…
寻宝游戏 毒瘤题. 估计考试只会前30pts30pts30pts暴力然后果断走人. 正解是考虑到一个数&1\&1&1和∣0|0∣0都没有变化,&0\&0&0会强制变成000,∣1|1∣1会强制变成111,于是如果结果是111说明最后一个出现的∣1|1∣1在最后一个出现的&0\&0&0的后面,这样我们将所有的操作集合拿来搞成一个010101串并把所有010101串反向之后就可以求出可行范围然后得出答案了. 代码: #include<…
第一次写泰勒展开:本地和CC差距好大 题目大意 大厨住的城市里办了一场美食节.一条街上开设了$N$个摊位,编号为$1∼N$.这天开始时,第$i$个摊位的食物会导致食物中毒的概率是$P_i$.在这一天中,大厨发现某些摊位可能会根据顾客的反馈提供没那么有毒的食物.你需要处理$Q$个询问,询问有以下两类: 0 L R:求出:如果要吃遍$[L,R]$内所有摊位的食物,那么不会食物中毒的概率是多少:1 L R T:$[L,R]$中的所有摊位的食物会导致食物中毒的概率变为了原来的$T$倍.$T$是一个小于$…
这场比赛好毒瘤哇,看第四题好像是中国人出的,怕不是dllxl出的. 第四道什么鬼,互动题不说,花了四十五分钟看懂题目,都想砸电脑了.然后发现不会,互动题从来没做过. 不过这次新号上蓝名了(我才不告诉你我以前的号是灰名),还是挺高兴的,而且t神这场比赛又成第一了. 比赛传送门:http://codeforces.com/contest/1075 A. The King's Race 题意:有一黑一白两个旗子,白的在(1, 1)上,黑的在(n, n)上.每次可以将旗子移动到周围一圈这八个位置,给你三…
反正没时间写,先把简要题解(嘴巴A题)都给他写了记录一下. upd:任务倒是完成了,我也自闭了. CST2018 2-1 Meteorites: 乘法版的石子合并,堆 + 高精度. 写起来有点烦貌似. upd:由于内存问题我高精度是动态开点,同时用的是可并堆(比较简单). #include <cstdio> #include <cmath> #include <cstring> using namespace std; typedef double lf; typede…
Codeforces Avito Code Challenge 2018 D. Bookshelves 题目连接: http://codeforces.com/contest/981/problem/D Description Mr Keks is a typical white-collar in Byteland. He has a bookshelf in his office with some books on it, each book has an integer positive…
JLOI2018翻车记 并不知道该怎么写... 算了还是按照标准剧情来吧 这应该是一篇写得非常差的流水账... 2018.04.04 Day -1 省选前在机房的最后一天. 压力并不是很大,毕竟联赛 JL rank 1. 晚上动员,和同学制定了策略:无论如何都不要挂题(flag). 2018.04.05 Day 0 清明. 前一天晚上(其实应该是这一天早上)梦见了自己一试考挂... 后来就醒了... 颓了一上午. 下午母上回来,不颓不颓,开始更博客. 后来由于各种原因,最终只更了两篇... 感觉…
好吧,day2T1把d默认为1也是醉了,现在只能期待数据弱然后怒卡一等线吧QAQ Day0 第一次下午出发啊真是不错,才2小时左右就到了233,在车上把sao和fate补掉就到了= = 然后到宾馆之后,没wifi的生活就是惨啊QAQ 把空境补完就睡了= = Day1 时隔一年,终于又回到了六中,不过题目真是越来越简单了QAQ,day1 3道水题直接水过了,然后就开始对拍了,不过我对拍+出数据的正确方法还没掌握,必须给力一点啊QAQ 回到宾馆之后,去找偏远小渔村补番队的蹭了下wifi 下了魔法少女…
Codechef April Challenge 2019 游记 Subtree Removal 题目大意: 一棵\(n(n\le10^5)\)个结点的有根树,每个结点有一个权值\(w_i(|w_i\le10^9|)\).你可以进行若干次(包括\(0\)次)操作,每次你可以选择一个连通块,将其删去.若你的操作次数为\(k\),则总收益为剩下结点权值之和\(-X\cdot k\).求最大总收益. 思路: 树形DP,\(f_x\)表示以\(x\)为根的子树的最大总收益.转移时\(f_x=w_x+\s…
文章目录 A题 B题 C题 D题 E题 F题 G题 传送门 简要题解?因为最后一题太毒不想写了所以其实是部分题解... A题 传送门 题意简述:给你一个数,问你能不能通过加前导000使其成为一个回文数. 思路:直接模拟. 代码: #include<bits/stdc++.h> #define ri register int using namespace std; const int rlen=1<<18|1; inline char gc(){ static char buf[r…
HNOI2018简要题解 D1T1 寻宝游戏 题意 某大学每年都会有一次 Mystery Hunt 的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得这一年出题的机会. 作为新生的你对这个活动非常感兴趣.你每天都要从西向东经过教学楼一条很长的走廊,这条走廊是如此的长,以至于它被人戏称为 infinite corridor.一次,你经过这条走廊的时,注意到在走廊的墙壁上隐藏着 \(n\) 个等长的二进制的数字,长度均为 \(m\).你从西向东将这些数字记录了下来,形成一个…
JXOI2018简要题解 T1 排序问题 题意 九条可怜是一个热爱思考的女孩子. 九条可怜最近正在研究各种排序的性质,她发现了一种很有趣的排序方法: Gobo sort ! Gobo sort 的算法描述大致如下: 假设我们要对一个大小为 \(n\) 的数列 \(a\) 排序. 等概率随机生成一个大小为 \(n\) 的排列 \(p\) . 构造一个大小为 \(n\) 的数列 \(b\) 满足 \(b_i=a_{p_i}\) ,检查 \(b\) 是否有序,如果 \(b\) 已经有序了就结束算法,并…