摘要:
题解 K次剩余终极版!orz 写一下,WA一年,bug不花一分钱 在很久以前,我还认为,数论是一个重在思维,代码很短的东西 后来。。。我学了BSGS,学了EXBSGS,学了模质数的K次剩余……代码一个比一个长…… 直到今天,我写了240行的数论代码,我才发现数论这个东西= =太可怕了 好吧那么我们来 阅读全文
摘要:
题解 原来自适应simpson积分是个很简单的东西! 我们尝试分析一下影子,圆的投影还是圆,圆锥的尖投影成一个点,而圆台的棱是圆的公切线,我们把圆心投影出来,发现平面上圆心的距离是两两高度差/tan(alpha) 这是一个轴对称图形,我们只需要求一侧就好了 用simpson积分的公式 $S = \f 阅读全文
摘要:
题解 有种迷一样的讽刺效果 每个城市有1000头牛,然后你现在知道对于自己政党每个城市的选票,把城市划分成三个州,保证在至少两个州内获胜 找出前2K大的然后random_shuffle,直到前K个加起来和后K个加起来都满足超过半数也就是K × 500 代码 cpp include include i 阅读全文
摘要:
题解 求一个最小的半径的球,包括三维平面上所有的点,输出半径 随机移动球心,半径即为距离最远的点,移动的方式是向离的最远的那个点移动一点,之后模拟退火就好 代码 cpp include include include include include // define ivorysi define 阅读全文
摘要:
题解 开始学习随机化算法= = 模拟退火的板子往上套就行,莫名其妙的就过了 可能数据太水,实现的具体细节可看代码 代码 阅读全文
摘要:
题解 置换群的快速幂,然而我姿势水平不高,样例过不去,然后才明白这个置换的意思是这个位置上的数代表要把原位置的某个数换过来 需要新开一个数组存结果 代码 cpp include include include include include include include include inclu 阅读全文
摘要:
题解 用到一点群论的知识! 我们发现把操作写成一个置换后,一定是单个置换圈的内进行操作,把置换圈进行扩大的操作不优 我们有两个办法,一个是用全局最小的换进来,代替这个圈里最小的值,交换操作完成后再换出去,二是用圈里最小的换完一圈 就两个操作,计算后贪心即可 代码 cpp include includ 阅读全文
摘要:
题解 群论,我们只要找出所有的置换群的所有循环节 具体可参照算法艺术与信息学竞赛 旋转的置换有n个,每一个的循环节个数是gcd(N,i),i的范围是0到N 1 翻转,对于奇数来说固定一个点,然后剩下的交换,循环节个数是(N 1)/2 +1 对于偶数来说,不经过球的有N/2个,循环节个数是(N / 2 阅读全文
摘要:
题解 这道题让我对SG函数有了更深刻的理解,这是道打表找规律题 我们打出来SG函数似乎是 1 2必败 3 5必败 4 7必败 6 10必败 8 13必败 哇我找到规律了…… 然而,我显然不会通项 后来百度题解这个东西是威佐夫博弈,前面东西的通项是 $\lfloor \frac{\sqrt{5} + 阅读全文
摘要:
题解 感觉挺神奇的 我们把石子从后往前相邻的两个两两配对,这样他们之间的空格就相当于一堆石子 而配对后左边棋子移动,右边棋子也一定可以跟上取 转化成简单的nim游戏,最后只要看转化出的这(N 1)/2 + 1堆石子异或起来等于0 代码 阅读全文
摘要:
题解 想去学习一下博弈论的SG函数 不过貌似这道题就是猜结论并且证明 题意是,随便选择一堆石子,扔掉至少一个,然后从扔石子的这堆里选择任意多(可以不选)放到其他任意多的未选择完的石堆里 一堆石子,先手必胜 两堆石子,如果两堆石子相同,那么后手必胜,先手一定会使两堆不同,那么后手把两堆恢复相同,最后先 阅读全文
摘要:
题解 把直线的斜率分解成二维,也就是随着z的增加x的增量和y的增量 我们发现一条合法直线向上移一点一定能碰到一条横线 知道了这条横线可以算出y的斜率 我们旋转一下,让这条横线碰到两条竖线,就可以算出x的斜率,进而判断直线在不在平面内 代码 cpp include include include in 阅读全文
摘要:
博客园的话插链接链接都是凉的= = 题解 我理解成能不能看到这个圆,除了最后几个圆特殊以外都是等价的,然而我凉了,因为我把圆当成线段来处理,但是,有可能一个圆完全被遮住了,还有一个缝隙,就WA了 计算几何题这点最不好,WA了会想的第一件事就是垃圾OJ卡我精度,反复WA上几次才会知道,自己算法错了 那 阅读全文
摘要:
原题戳这里 开始一小段时间的POJ计算几何练习计划(估计很快就会被恶心回去) 题解 用一条平行于y轴的扫描线,计算两条扫描线之间多少格子被覆盖了 精度可tm变态了,可能是因为题目要求的关系吧,需要上取整和下取整,可能有一点误差也给算进去了,精度掉的很大 看一下上一次的上边界是哪里,不要重复计算 代码 阅读全文
摘要:
我居然每道题都能想出来 虽然不是每道题都能写对,debug了很久/facepalm C Many Medians 排序后前N/2个数的中位数时排序后第N/2 + 1的数 其余的中位数都是排序后第N / 2的数 cpp include include include include include i 阅读全文
摘要:
原题戳这里 题解 搜索是个好东西,不是人人都会搜 迭代加深,然后用一个函数估值,值是除了和左上连通的部分还有几个颜色不同的块,如果走的步数加上估值大于当前枚举的深度就跳出 代码 cpp include include include include include include define MA 阅读全文
摘要:
可以说是第一场AGC了,做了三道题之后还有30min,杠了一下D题发现杠不出来,三题滚粗了 rating起步1300+,感觉还是很菜。。。 只有三题水平显然以后还会疯狂 啊(CF的惨痛经历) 改题的感觉似乎还不错因为思维都非常的妙(我根本想不到) A Zero Sum Ranges 开场娱乐大家的小 阅读全文
摘要:
本文是作者看不懂分治FFT之后开始娱乐一下自己写的 看到一道题时候询问了正解后,推出了一个奇怪的变换,发现这个很Transformation,我和正解推出来的奇怪的东西是一样的,但还是想写一下思路。。。 (希望原题作者不要来D我啊) min卷积和max卷积 考虑两个卷积 $C_{min(i,j)} 阅读全文
摘要:
something wrong with my new blog! I can't type matrixs so I come back. qwq 题目:https://www.codechef.com/problems/BIKE 题解 是我naive了,二维和一维其实差不多 首先,n很小,t很大 阅读全文
摘要:
其实日期没有那么近啦……只是我偶尔还点进去造成的,导致我没有每一章刷完的纪念日了 但是全刷完是今天啦 讲真,题很锻炼思维能力,USACO保持着一贯猎奇的题目描述,以及尽量不用高级算法就完成的题解……例如用暴搜加优化代替插头dp 但是第6章!我就说第6章!为什么大赛的实践,几乎全是暴搜!是为了传达给我 阅读全文