10 2018 档案
摘要:"Trees On the Level" 竟然还有 这种东西!!! 2018 年 10 月 30 日,真是一个不幸的日子. 在这一天,我终于把这道题 A 掉了,反反复复提交了十多次,终于在今天,我明白了为什么错: UVa 坑爹输出格式!!!输出文件的结尾必须有一个空行!!!
阅读全文
摘要:"洛谷 3952" 输入一整行字符串时,如果中间有空格,则不能用 来输入! 会在空格处停下! ~~在NOIp2018 前夕终于做出了NOIp2017的题~~ Candy? 说这道题用栈做,其实完全可以不用栈~~我不会~~,于是用一个比较笨拙的方法:找出与每个 配对的 ,然后从第一个循环开始处理。 利
阅读全文
摘要:"洛谷 1080" 对于队列中的两个人,$A,B$,其左手上的数字分别是$a_1,a_2$,右手上的数字分别是$b_1,b_2$,他们前面的所有人(包括国王)左手上的数字之乘积为 M 则 如果 1 号在前,2 号在后,则应为 $S_1=max\{ M/b_1,M\times a_1/b_2\}$ 如
阅读全文
摘要:$NOIp 2018$ 在即,决定将模板重新写一遍 只是单纯地写模板有些浪费时间,而且不知道对错~~还会让这篇博客太长而懒得看~~,所以用做题的形式来写模板. 高精度 写了好多次了,这次转变了风格,依旧压位,但不用 vector 了,速度应该会快。突然发现重载运算符的时候会复制无用元素,还是老老实实
阅读全文
摘要:"UVa 1646" 手动模拟一下,发现是一个广义斐波那契数列,$F_1=1,F_2=3,F_n=F_{n 1}+F_{n 2}$ 证明,,,懒得证,,, include include include include using namespace std; const int width=4,b
阅读全文
摘要:"Luogu4370" 一开始入队的数字肯定是$C^{n/2}_n$,然后将它上下左右能入堆的入堆,取出堆首元素后以此类推 要注意同一个组合数不能重复进堆,所以需要判重,但是如果根据当前扩展的元素是否在答案序列中来判断是否应该进堆,比如这样: cpp void bfs(int n,int k) {
阅读全文
摘要:对拍 $ Windows $ 下的对拍程序 借助 $Windows$ 脚本 @echo off :loop r.exe > input.in coronas.exe <input.in > output.a std.exe <input.in > output.b fc output.a outpu
阅读全文
摘要:"BZOJ 1192" "Luogu2320" 运用了“分治”的思想,先选择$n/2$,然后将问题转化为$[1,n/2]$范围内的子问题,以此类推 一开始以为是将 n 的二进制表示中所有是 1 的拿出来,比如这样: cpp include include using namespace std; i
阅读全文
摘要:"洛谷P4296" 洛谷的数据超级水!不用任何优化的暴力枚举都能过! 正解需要一点数学推导: $\because x^2\ mod\ n=1$ $\therefore x^2 1=(x 1)(x+1)mod\ n=1$ 则必定存在$a,b$满足$a|(x 1),b|(x+1)$或$b|(x 1),a
阅读全文
摘要:"三分法" 的模板,一直提交,一直WA 结果,今天把精度判断从 改成 ,过了三个点,再将 $t$ 改成 $10^{ 7}$ 就 $AC$ 了。。。 这给我一个十分重要的启示:精度问题十分重要!!!
阅读全文
摘要:"Blinker的仰慕者" [L,R] 之间满足各位数字乘积为$k$ 的数字有多少个.$(L,R \leq 10^{18})$ $f[i][j][k]:$ 前$i$位数,$j$代表与上限的大小关系,$k$是积 $k$ 太大:上限可达 $9^{18}$ 优化:因为每次都是乘$[0,9]$之间的整数,因
阅读全文
摘要:"SCOI2009 Windy数" cpp //Copyright(C)Corona. //2018 10 07 include include include include include using namespace std; const int MAXN=18; long long f[M
阅读全文
摘要:"A+B Problem" 终于调试通过了 zhx 讲的数位 DP 的引例:求0~n之间有多少个数(虽然感觉有点傻) 不过仔细一想还是有用处的!可以用来计算$a+b$! 即使测试数据中有负数也没关系 cpp //Corona's A+B Problem //数位DP //2018 10 07 inc
阅读全文
摘要:"Q" 小明现在有一个$N$个点的树, 每条边的长度有一个边权, 现在定义$dis(i,j)$代表第$i$个点到第$j$个点的距离模$2$之后的结果。 问有多少$(i,j,k)$满足$dis(i,j)=dis(i,k)=dis(j,k)$ 先搞一搞$dfs$求出每一个点到达其他点的距离,然后统计从点
阅读全文
摘要:"Nim游戏" 题目描述 甲,乙两个人玩$Nim$取石子游戏。 $Nim$游戏的规则是这样的:地上有$n$堆石子$($每堆石子数量小于$10000)$,每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取完,不能不取。每次只能从一堆里取。最后没石子可取的人就输了。假如甲是先手,且告诉你这$n$堆石
阅读全文
摘要:"TSP" ~~我的第一道状压DP~~ 洛谷的数据太强了! 用记忆化搜索写了一遍, T 了两个点,开 $O2$ , 还是 T 一个点; cpp include include include using namespace std; const int MAXN=21; int d[1'9'){c=
阅读全文
摘要:"洛谷 P1967" 好不容易啊!少有的能做(一)出(遍)来(A)的题! 基本思路不难确定了: + 先求出整个图中的连通分量(并查集) , 求出每个连通块的最大生成树 $(Kruskal)$ , 然后利用类似于倍增求 $LCA$ 的思想,求出答案 求最大生成树需要在每个连通块内建树,但只要进行一遍
阅读全文
摘要:只需要枚举第一个的状态,推出后继状态即可。 需要注意当 $n=1$ 时的情况,以及当判断第一个及最后一个时的方法 cpp include include include using namespace std; const int MAXN = 1e4+5; int a[MAXN],b[MAXN];
阅读全文