08 2019 档案

摘要:($QaQ...$) 考场:$40 + 0 + 0 = 40$ T1: “矩乘”让我眼前一亮,可题面却让我。。。 想到主席树,但发现时间过不去,便想着其他方法迟迟不下手。 最后想不到了,只能这么打了。赛后发现只拿了暴力$40$分,唉。 正解可以主席树+分块。 T2: 看完题后想到了贪心,但很快就被自 阅读全文
posted @ 2019-08-23 15:11 jz929 阅读(85) 评论(0) 推荐(0)
摘要:爆零了,心态巨崩。。。 考场:$0 + 0 + 0 = 0$ T1: 全场刚$T1$,结果因为少了模一个$WA0$。。。 看来对拍对的不到位啊。。。 没有想到特殊情况。。。 T2: T2考场刚开始看题的时候发现和自己出的题有点类似的地方。 很快便想到枚举点然后在两个点之间来回走,但发现从起点到这个点 阅读全文
posted @ 2019-08-21 15:50 jz929 阅读(114) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-21 08:44 jz929 阅读(8) 评论(0) 推荐(0)
摘要:考场:$85 + 0 + 35 = 120$ T1: 赛时想到正解,但将$LIS$(最长上升子序列)写成了最长不下降子序列,GG(竟然还WA85) 我想的太笨,在求完$f[]$和$g[]$,在用线段树维护做一遍。 $f[i]$指以$i$结尾的$LIS$,$g[i]$指以$i$为开头的$LIS$ 对于 阅读全文
posted @ 2019-08-20 15:25 jz929 阅读(120) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-19 15:15 jz929 阅读(3) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 考场先想到$O(nlog^2n)$的线段树,发现过不了。于是开始“异想天开”。 最后神奇想到分块。 我们对于$a[]$维护一个$to[i]$。 $to[i]$表示$a[i] =b[j]$的最大的$j$。 维护时用分块来标记防止修改的区间太大。 赛后 阅读全文
posted @ 2019-08-18 16:31 jz929 阅读(120) 评论(0) 推荐(0)
摘要:考场:$100 + 10 + 0 = 110$ T1: 看到$m$那么大,于是就想到了矩乘。 但发现好像不行,于是打了个大大的贪心。 对拍跑了$30+$分钟一点都没错,于是自信满满地交了,果真$AC$。 T2: 考场先想到$O(nlog^2n)$的线段树,发现过不了。于是开始“异想天开”。 最后神奇 阅读全文
posted @ 2019-08-18 16:27 jz929 阅读(158) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 感觉$OJ$上的那个题解讲得很详细。 我们可以用分治(类似归并排序的思想)来解决问题。 详见题解,感觉自己也描述不清。 大概极限操作次数在$O(n log^2n/2)$,而且很难达到,所以不会爆。 Code 阅读全文
posted @ 2019-08-17 22:27 jz929 阅读(159) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 第一眼看上去好像斜率$DP$,但仔细一看发现不能用单调队列维护。 然后$GG$。 正解使用单调栈来维护。 我们发现,我们维护的单调栈$g[]$的$a[]$是呈单调不下降的。 对于新加入的点i,我们需要将单调栈中$a[]$大于$a[i]$的弹出栈中, 阅读全文
posted @ 2019-08-17 16:53 jz929 阅读(101) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 考场上推式子,看能否有仅包含一个点的值。 然后推到后面推出来一个用$abs(Q(y1 y2) P(x1 x2))$的大小来比接近程度。 然后按$Qy Px$排序,后将相邻两个按上式子来比较后求得$p/q$。 结果样例错了,后来重推了一遍式子,发现好 阅读全文
posted @ 2019-08-17 15:27 jz929 阅读(104) 评论(0) 推荐(0)
摘要:(今天标题验证NOIP取消了吗。。。) 心态巨崩 考场:$50 + 20 + 0 = 70$ T1: 考场上推式子,看能否有仅包含一个点的值。 然后推到后面推出来一个用$abs(Q(y1 y2) P(x1 x2))$的大小来比接近程度。 然后按$Qy Px$排序,后将相邻两个按上式子来比较后求得$p 阅读全文
posted @ 2019-08-17 14:31 jz929 阅读(113) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 考场就刚$T1$了。。。 首先打了个暴力:$dfs$枚举选哪些数,然后$K^2DP$求出答案。 设$f[i][j]$表示前$i$个人有$j$个选好的方案数。答案即为$f[K][K/2]$。 从题解发现,选的人是一段前缀和一段后缀。 茹氏证明: 我们 阅读全文
posted @ 2019-08-16 21:31 jz929 阅读(185) 评论(0) 推荐(0)
摘要:考场:$70 + 0 + 0 = 70$ T1: 考场就刚$T1$了。。。 首先打了个暴力:$dfs$枚举选哪些数,然后$K^2DP$求出答案。 设$f[i][j]$表示前$i$个人有$j$个选好的方案数。答案即为$f[K][K/2]$。 从题解发现,选的人是一段前缀和一段后缀。 茹氏证明: 我们可 阅读全文
posted @ 2019-08-15 16:20 jz929 阅读(118) 评论(0) 推荐(0)
摘要:Question 哪儿都有 Solution 一眼最小割。 1.S连向实验,边权为实验费用 2.实验连向仪器,边权无穷大,因为不能割。 3.仪器连向T,边权为仪器费用 跑一遍网络流即可。 Code cpp include include define N 10010 using namespace 阅读全文
posted @ 2019-08-14 20:20 jz929 阅读(103) 评论(0) 推荐(0)
摘要:Question 哪儿都有 Solution 匈牙利裸题,但我~~作死~~ 打了网络流。 Code c include include define N 10010 using namespace std; struct node{int v,fr,c;}e[N'9') f=(c==' ') ? 1 阅读全文
posted @ 2019-08-14 20:20 jz929 阅读(119) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-14 20:08 jz929 阅读(5) 评论(0) 推荐(0)
摘要:这次比赛,我算是明白了指针是有多吊了。 在计算机科学中,指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。由于通过地址能找到所需的变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为“指针”。意思是通过它能找到以它为 阅读全文
posted @ 2019-08-14 09:55 jz929 阅读(267) 评论(0) 推荐(0)
摘要:Description将n个数刚好分成m段,每段的贡献为此段数的和,求这m个数的最小方差*(m^2)对于 100% 的数据,1≤n≤3000。Solution由于是连续一段的,一眼斜率优化DP。设\(qz[i]\... 阅读全文
posted @ 2019-08-14 09:53 jz929 阅读(68) 评论(0) 推荐(0)
摘要:Description详见OJSolution这题看题目就知道是期望\(DP\)了。先刚了2h\(DP\)式,得到\(f[i]=f[i-1]+f[i-2]+f[i-1]*(1-p)+...\),然后不会化简,最后... 阅读全文
posted @ 2019-08-14 09:53 jz929 阅读(77) 评论(0) 推荐(0)
摘要:Description详见OJSolution看了\(0.5h\)的题目,最后才大概明白了题目内容。大概是求一条链的最小值,但不知道有没有还钱以后边是否还存在。然后就没打了。正解是倍增+并查集。并查集得出\(x\... 阅读全文
posted @ 2019-08-14 09:53 jz929 阅读(68) 评论(0) 推荐(0)
摘要:Description详见OJSolution先想到了50分暴力,又想到了对于每个质数分开求答案,最后相乘,结果打挂。正解根据中国剩余定理,可以对于每个质数分开求。\((x^m-x)\)%\(n=0\)由于\(n... 阅读全文
posted @ 2019-08-14 09:53 jz929 阅读(101) 评论(0) 推荐(0)
摘要:考场:\(40 + 0 + 76 = 116\)T1:想了\(0.5h\),想到一个正确率显然,时间\(O(n+m)\)的算法。打了\(1h\)(加上对拍),自信满满地交了上去,结果\(WA40\)。然后发现原来... 阅读全文
posted @ 2019-08-14 09:53 jz929 阅读(108) 评论(0) 推荐(0)
摘要:Description详见OJSolution看完题后第一反应是倍增。由于有修改操作,就尝试着打了个和昨天一样,(但是是假的)启发式倍增。结果被出题人无意中狂怼,\(MLE0\)(超了一点点),减小空间后\(TL... 阅读全文
posted @ 2019-08-14 09:52 jz929 阅读(101) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 感觉这题是最神仙的。。。 考场$AC$的人说自己是暴力枚举转移方程而得到了一个正确的转移式。 对于数据中的$x$,我们发现分解质因数后,每个质因数的指数最大是$2$。 当指数为$1$的时候,很容易得出答案乘以$n!$(因为每列每行都只能有一个这个质 阅读全文
posted @ 2019-08-13 22:10 jz929 阅读(123) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 对于$limit1,2$就是使序列$1~n$的排列。 对于$limit3$,我们可以将其看做是两个最长上升子序列正好覆盖整个序列,证明显然。 我们可以做一个前缀$max$序列。这样对于$max[i]$,保证$max[i] =i$。 而且保证$max 阅读全文
posted @ 2019-08-13 22:02 jz929 阅读(151) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 首先看题,我们发现$\sum{a[i]}=n$,所以可以理解为一个抽屉问题。 但它不仅有一条限制,而且$n$也十分的大。怎么办呢? %%%sls大佬%%%想到可以将$\sum{a[i]}$拆分成$\sum{b[i] m+p[i]}(p[i] def 阅读全文
posted @ 2019-08-13 21:18 jz929 阅读(110) 评论(0) 推荐(0)
摘要:GG,爆了,心态巨崩。。。 考场:$20 + 15 + 3 = 38$ T1: 神奇拆分+容斥? 正解将$a[i]$拆分成$c[i] m+p[i]$。 可以得到 $\sum{p[i]}$ %$m=n$%$m$ $\sum{p[i]}$ 可能会大于$m$,但肯定小于$k (m 1)$!! 我们就可以枚 阅读全文
posted @ 2019-08-13 20:19 jz929 阅读(180) 评论(0) 推荐(0)
摘要:心态巨崩。。。 考场:$40 + 0 + 10 = 50$ T1: 刚看完题后一点思路都没有,那$n$那么小肯定有问题。 后来想了想就死刚了个分治+$DP$上去。。。 结果有一个地方横纵坐标反了,$RE40$. 改后$TLE60$。把数组开小一点$TLE80$. 把$max$,$min$函数手打$A 阅读全文
posted @ 2019-08-12 19:54 jz929 阅读(120) 评论(0) 推荐(0)
摘要:[TOC] 前缀函数 设$p[i]$表示即使字符串前缀$[1...p[i]]$又是以$i$为结尾的后缀$[i p[i]+1...i]$ 暴力为$O(n^3)$ 我们可以发现:$p[i+1] KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因 阅读全文
posted @ 2019-08-11 20:36 jz929 阅读(291) 评论(0) 推荐(0)
摘要:[TOC] hash double hash hash字符串中的子串 树hash 树$hash$用来比较树是否同构。 "详见该博客" 阅读全文
posted @ 2019-08-11 19:28 jz929 阅读(113) 评论(0) 推荐(0)
摘要:[TOC] 什么是树链剖分 树链剖分,计算机术语,指一种对树进行划分的算法,它先通过轻重边剖分将树分为多条链,保证每个点属于且只属于一条链,然后再通过数据结构(树状数组、$BST$、$SPLAY$、线段树等)来维护每一条链。——百度百科 树链剖分就是维护轻、重链,然后用其他数据结构来维护。(一般用树 阅读全文
posted @ 2019-08-11 11:34 jz929 阅读(127) 评论(0) 推荐(0)
摘要:比赛:$0 + 50 + 10 = 60$ T1: 向量?长度?弃。。。 正解是类欧。 T2: 记忆化搜索? 正解是斯坦纳树。 对于新的一层要做一个虚点,表示从上面一层的那个点转移。 对于每一层都都做一遍即可。 T3: 暴力$WA30$,开大数组$TLE10​$?! (其实是$spfa$中$mems 阅读全文
posted @ 2019-08-10 21:39 jz929 阅读(164) 评论(0) 推荐(0)
摘要:表示很崩。(10:09交的在比赛结束前还没运行。。。) 考场:$100 + 10 + 90 = 200$ T1: 看了看数据范围发现挺小的。 于是就决定连边+$spfa$。 对于每个不是 的点最多连$8$条边,$spfa$记忆化一下即可。 T2: 完全没有想法。 (后来还是经过某人提醒才知道什么是二 阅读全文
posted @ 2019-08-09 15:43 jz929 阅读(118) 评论(0) 推荐(0)
摘要:考场:$100 + 0 + 0 = 100$ T1: 看了看数据范围,知道是矩乘。 初始矩阵设的太麻烦了(手贱),导致调了很久才调出来。 后来都没多少时间想其他题了。幸好AC了。(不然真得就心崩了。。。) T2: 考场草草地想了一下,弃疗打了个水贪心。 正解贪心?!排序,然后用堆维护即可。 T3: 阅读全文
posted @ 2019-08-09 12:40 jz929 阅读(140) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 看完题后第一反应是倍增。 由于有修改操作,就尝试着打了个和昨天一样,(但是是假的)启发式倍增。 结果被出题人无意中狂怼,$MLE0$(超了一点点),减小空间后$TLE25$。。。 (其中一个)正解是线段树。 我们对于一个区间$[l,r]$(线段树内 阅读全文
posted @ 2019-08-05 21:26 jz929 阅读(149) 评论(0) 推荐(0)
摘要:考场:$40 + 0 + 76 = 116$ T1: 想了$0.5h$,想到一个正确率显然,时间$O(n+m)$的算法。 打了$1h$(加上对拍),自信满满地交了上去,结果$WA40$。 然后发现原来n和m没有开$long long$,开了$AC$。 T2: 看完题后第一反应是倍增。 由于有修改操作 阅读全文
posted @ 2019-08-05 14:33 jz929 阅读(143) 评论(0) 推荐(0)
摘要:[TOC] 斜率DP 我看了很多%d%a%l%a%o的博客,使我对其印象深刻。 确实,斜率优化的DP式一般都是: $$f[i]=min(f[j]+a[i] a[j]+...)$$ 我们对于k 阅读全文
posted @ 2019-08-05 07:55 jz929 阅读(280) 评论(0) 推荐(0)
摘要:Description 将n个数刚好分成m段,每段的贡献为此段数的和,求这m个数的最小方差 (m^2) 对于 100% 的数据,1≤n≤3000。 Solution 由于是连续一段的,一眼斜率优化DP。 设$qz[i]$表示$a[1]$~$a[i]$的和。 我们考虑一下将答案化简。设平均数为$k$。 阅读全文
posted @ 2019-08-04 22:05 jz929 阅读(172) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 这题看题目就知道是期望$DP$了。 先刚了2h$DP$式,得到$f[i]=f[i 1]+f[i 2]+f[i 1] (1 p)+...$,然后不会化简,最后崩盘。 正解也是设f[i]表示生成第i级的剑的期望费用。 可以得到$f[i] = f[i 1 阅读全文
posted @ 2019-08-04 21:04 jz929 阅读(177) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 看了$0.5h$的题目,最后才大概明白了题目内容。 大概是求一条链的最小值,但不知道有没有还钱以后边是否还存在。 然后就没打了。 正解是倍增+并查集。 并查集得出$x$的祖宗以及深度,便于判断两个点是否在同一棵树以及深度。 由于强制在线,我们更新的 阅读全文
posted @ 2019-08-04 20:49 jz929 阅读(201) 评论(0) 推荐(0)
摘要:Description 详见OJ Solution 先想到了50分暴力,又想到了对于每个质数分开求答案,最后相乘,结果打挂。 正解根据中国剩余定理,可以对于每个质数分开求。 $(x^m x)$%$n=0$ 由于$n$有多个不同的质数组成,所以我们可以用中国剩余定理来分解成$c$个方程。 然后得到$x 阅读全文
posted @ 2019-08-04 20:25 jz929 阅读(144) 评论(0) 推荐(0)
摘要:考场:$10 + 10 + 0 = 20$ T1: 概率问题,刚了2h$DP$式,得到$f[i]=f[i 1]+f[i 2]+f[i 1] (1 p)+...$,然后不会化简,最后崩盘。 正解设f[i]表示生成第i级的剑的期望费用。 可以得到$f[i]=f[i 1]+f[i 2]+(1 p) (f[ 阅读全文
posted @ 2019-08-04 19:41 jz929 阅读(120) 评论(0) 推荐(0)
摘要:Description 有n个人,要分成m个班,每个班至少1人。每班贡献为$(max min)^2$,求最小贡献值。 $1 include include define N 10010 define M 1010 define mem(x, a) memset(x, a, sizeof x) def 阅读全文
posted @ 2019-08-04 08:05 jz929 阅读(325) 评论(0) 推荐(0)
摘要:Description 给出一棵带边权的树,问有多少对点的距离 include define N 10010 using namespace std; struct node{int v, fr, l;}e[N '9') c = getchar(); while (c = '0' && c len 阅读全文
posted @ 2019-08-03 22:16 jz929 阅读(260) 评论(0) 推荐(0)
摘要:[TOC] 最近学了学点分治,毕竟OJ上都搞了个专题了。 引入 以一个点为界限,将一棵树分成若干个子树,当划分到一定规模,就对每个子树分别进行求解 我们为了保证时间,所以要使子树大小尽量小。 如何找到最优的点呢?就是重心! 重心 重心是什么? 树的重心也叫树的质心。找到一个点,其所有的子树中最大的子 阅读全文
posted @ 2019-08-03 21:55 jz929 阅读(132) 评论(0) 推荐(0)
摘要:Description 给你$n$个点,坐标分别为$(xi,yi)$。从中取出三个点,使得其两两间曼哈顿距离和最大和最小,求最大值和最小值。 对于 100% 的数据, N= ans2) break;$ 这个优化正确性显然。 Code cpp include include define N 1000 阅读全文
posted @ 2019-08-03 20:37 jz929 阅读(120) 评论(0) 推荐(0)
摘要:Description 偶然间,chnlich 发现了他小时候玩过的一个游戏“魂斗罗”,于是决定怀旧。但是这是一个奇怪的魂斗罗 MOD。 有 N 个关卡,初始有 Q 条命。 每通过一个关卡,会得到 u 分和1条命,生命上限为 Q。其中 u=min(最近一次连续通过的关数,R)。 若没有通过这个关卡, 阅读全文
posted @ 2019-08-02 21:55 jz929 阅读(164) 评论(0) 推荐(0)
摘要:考场:$100 + 0 + 30 = 130$ T1: 看时限$10s$,便$O(nm)$暴力,先排序,询问$O(n)$扫一遍,修改$O(1)$换一下即可。 仔细看题,看到矩阵相对顶点便知道有坑。 还有C++用读优的要小心字符读入。 T2: 是一道概率题,想到$DP$,但设状态错误导致无法转移。。。 阅读全文
posted @ 2019-08-02 16:33 jz929 阅读(135) 评论(0) 推荐(0)
摘要:"%%%" "%%%" 以上两篇便是我学习的内容。。。 阅读全文
posted @ 2019-08-01 20:20 jz929 阅读(89) 评论(0) 推荐(0)
摘要:规定 0! = 1 1.n个相同的球放入m个不同的盒子里,求方案数 $$C(n + m 1, n 1)$$ 2.n个相同的球放入m个不同的盒子里,每个盒子至少一个,求方案数 $$C(n 1, m 1)$$ 阅读全文
posted @ 2019-08-01 20:01 jz929 阅读(144) 评论(0) 推荐(0)
摘要:考场:$0 + 0 + 40 = 40$ T1: 看完题后很懵,感觉只能打暴力(最后暴力还打挂了) 正解是IDA 算法, 没学。 T2: 看了题后感觉能打,于是先求出两两点间能否看见,然后不会了。 正解为$floyd$传递闭包+二分图最小路径覆盖 有个$dilworth$定理什么的证明最长反链长度= 阅读全文
posted @ 2019-08-01 15:54 jz929 阅读(201) 评论(0) 推荐(0)