摘要:
莫比乌斯反演 一、线性筛 void init() { v[1]=mu[1]=phi[1]=1; int cnt=0; for (int i=2;i<=MAXN;++i) { if (!v[i]) p[++cnt]=i,mu[i]=-1,phi[i]=i-1; for (int j=1;j<=cnt& 阅读全文
posted @ 2020-10-24 23:16
Little09
阅读(116)
评论(0)
推荐(0)
摘要:
奇怪的搜索技巧:优化搜索 零、bfs有关 双端队列bfs 解决问题:边权只有0与1的最短路 时间:\(O(n)\) 算法的整体框架与一般的广搜类似,只是在每个节点沿分支拓展时稍作改变。如果这条分支边权为0,则从队首入队,否则从队尾入队。这样我们能保证,任意时刻广搜队列中节点对应的距离值都有“两端性” 阅读全文
posted @ 2020-10-24 23:15
Little09
阅读(185)
评论(0)
推荐(0)
摘要:
离线分治:整体二分与CDQ分治 这两个算法都是离线的分治算法。其中CDQ分治是基于时间的分治算法。整体二分是基于值域的分治算法。先讲讲整体二分吧。 我们拿[ZJOI2013]K大数查询作为例子。 一、原理:将所有的修改和查询操作离线存下来。每次二分所有修改和询问操作,分成两部分解决。 二、每个子问题 阅读全文
posted @ 2020-10-24 23:13
Little09
阅读(166)
评论(0)
推荐(0)
摘要:
凸壳上的单调队列:斜率优化 一、性质:一种动态规划的优化。 二、前置:dp、单调队列。 三、适用:\(dp[i]=a[i]*b[j]+c[i]+d[j]\)。$a[i]$单调递增。 四、方法: 移项:\(-a[i]b[j]+dp[i]-a[i]=d[j]\),把$b[j]$看作$x$,把$d[j]$ 阅读全文
posted @ 2020-10-24 23:12
Little09
阅读(133)
评论(0)
推荐(0)
摘要:
广度优先搜索(水的一波~) 每次交换数组里连续两个数 找到第一个合法答案时不要停,继续 找到第二个时输出就好了 上代码 #include<bits/stdc++.h> using namespace std; int n,f[7]; bool flag;//flag表示是否找到了第一个合法答案 st 阅读全文
posted @ 2020-10-24 20:32
Little09
阅读(79)
评论(0)
推荐(0)
摘要:
零、前言 我这个数学菜鸡决定写一下这道变态的巧妙的数学题的题解。 一、题目 链接:years 题目大意:求$\frac{1}{2}∑_m \frac{C_mk}{C_n^k}$ 二、前置知识 比较简单的几个组合数公式,不过多赘述。 ·公式1:\(C_n^m=\frac{n!}{m!(n-m)!}\) 阅读全文
posted @ 2020-10-24 20:30
Little09
阅读(112)
评论(0)
推荐(0)
摘要:
这是一篇早期题解,当时不会 \(\LaTeX\) 请见谅。 因为我实在太蒻,写的有点啰嗦了,大佬请见谅谢谢 Part1 前置知识 1.异或运算 2.前缀和 3.莫队 Part2 转化题意 异或是一个很神奇的运算 当然对于前缀和是同样适用的 因此,很容易想到,维护一个前缀和数组sum sum[i]表示 阅读全文
posted @ 2020-10-24 20:21
Little09
阅读(119)
评论(0)
推荐(0)
摘要:
这是一道挺好的dp题,我的方法会理解起来稍微简单点。 题目大意就不赘述了,我们直接考虑状态。 令$f[i][j][k][l]$表示选$i$组,$j$组[],$k$组()且深度为$l$的组合有几种。但是我们发现这样对于S=AB的状态转移是很难实现的。因为AB的深度都不知道,需要依次枚举。 我们可以考虑 阅读全文
posted @ 2020-10-24 20:20
Little09
阅读(149)
评论(0)
推荐(0)
摘要:
Day1 进考场。开题。 密码一次对。 T1看了一眼。sb类型的模拟。我用了递归(二分当然也可)5min切了(虽然结束后才后悔) 剩下的时间基本在乱搞T2.想了半天只打了个n2的算法。一直在搞链的15分,推式子就是推不出来。看来还是我太菜了啊 T3还是花了大约20min时间打了个暴力的。10pts 阅读全文
posted @ 2020-10-24 20:19
Little09
阅读(135)
评论(0)
推荐(0)
摘要:
计算机科学 计算机发展史 第一代电子管计算机(1946-1958) 第二代晶体管计算机 (1959-1964) 第三代集成电路计算机 (1965-1970) 第四代超大规模电路计算机 (1971至今) 计算机名人名士 申农(克劳德·艾尔伍·申农 美国人)被称为“数字时代之父”,第一次提出了 bit( 阅读全文
posted @ 2020-10-24 20:18
Little09
阅读(514)
评论(0)
推荐(1)
摘要:
一道区间dp。 状态很好设,我们可以设 \(dp(i,j,k)\) 表示在 \(a\) 的第 \(i\) 位前取出 \(k\) 个子串与 \(b\) 的前 \(j\) 位一样的方案数。然后发现不是很好转移。 这个时候很容易就想到,我们再设一维0/1,即 \(dp(i,j,k,t)\),$t$表示 \ 阅读全文
posted @ 2020-10-24 20:08
Little09
阅读(156)
评论(0)
推荐(0)
摘要:
先说点闲话。考场上我只有大概半小时时间做题目,A了前两题后大概就五分钟在这题,乱骗 5 分就被叫走去上物理课去了。主要原因是我觉得以我的水平是完全能A掉这题的,但在考场上因为上课没时间,感到很遗憾,所以就有了这篇题解。 我讲讲我的思路。我们看到这个“旋转180度”很恶心,仔细想后就会发现左上角和右下 阅读全文
posted @ 2020-10-24 20:04
Little09
阅读(186)
评论(0)
推荐(0)
摘要:
这题是一道小思维题,放在 C 的话难度还是比较低的。 我看有些题解只给了做法没有给证明,所以来说一下。 题意是说如果两个数最大公约数是序列最小值就可以交换。问最小交换次数使得单调不下降。 先给结论:我们先对 \(a\) 数组排序,得到最终数列。考虑每个数,如果这个数不等于最终数列的数并且不能被数列最 阅读全文
posted @ 2020-10-24 20:03
Little09
阅读(120)
评论(0)
推荐(0)
摘要:
一整棵树的答案很显然是一样的,所以我们可以考虑并查集维护。 我们可以用 \(size_i\) 表示以 \(i\) 为根的子树大小。注意这里,如果 \(i\) 已经是一棵树上的节点,那么就不用维护了。这个显然可以维护:在合并的时候相加即可。 再用 \(ans_i\) 表示以 \(i\) 为根的答案。考 阅读全文
posted @ 2020-10-24 20:01
Little09
阅读(439)
评论(0)
推荐(0)
摘要:
二分图判定模板题(不知道为什么蓝)。 如果没有同性恋,那么很显然是一张二分图,否则不是。那么只要判定这张图是不是二分图即可。 一个图是二分图,当且仅当图中没有奇环。所以黑白染色即可。 多测记得清空。 #include<bits/stdc++.h> using namespace std; int T 阅读全文
posted @ 2020-10-24 19:59
Little09
阅读(141)
评论(0)
推荐(0)
摘要:
听说这道题在赛时难倒了好多神仙。其实这只是一个暴力枚举。 首先肯定不能直接贪心做,如果对于某个人去最优的方案,第二个人就不一定最优了。 注意到 \(cnt\) 值很小。所以可以考虑枚举第一个人拿了多少把剑,剩余的肯定尽可能拿战斧。第二个人就可以贪心拿重量小的武器知道拿光,然后拿另外一个。 #incl 阅读全文
posted @ 2020-10-24 19:57
Little09
阅读(151)
评论(0)
推荐(0)
摘要:
这题其实重题了,但是我没有发现。 考虑怎么弄掉一个区间。要么用操作 $2$ 把它们一次切光,要么用操作 $1$ 把它们切到一个为 $0$,再递归下去。 由于区间不重复,所以不用记忆化,直接做就可以了。 #include<bits/stdc++.h> using namespace std; int 阅读全文
posted @ 2020-10-24 19:54
Little09
阅读(112)
评论(0)
推荐(0)
摘要:
感觉这道题好像出的水了点,像我这种对期望一窍不通的菜鸡也可以推出来。我的思路好像和大家不太一样(更简单一点吧)……但是好歹过了,大家可以参考一下。 我们设要通过第 \(x\) 个点需要的期望步数为 \(E(x)\)。那么我们可以根据定义推出 \(E(x)\) 的表达式: \(E(x)=\dfrac{ 阅读全文
posted @ 2020-10-24 19:49
Little09
阅读(120)
评论(0)
推荐(0)
摘要:
先说一句,我 FST 了。 题意就不说了。可以想到,对于一个 \(a_{i+1}\) 相对于 \(a_i\) 来说 \((a_i≠a_{i+1})\),在 \(m\) 个 \(b\) 数组中只需要有一个的 \(b_{i+1}\) 与 \(b_i\) 不同。这是很显然的。 举个例子: 7 = 2 + 阅读全文
posted @ 2020-10-24 19:40
Little09
阅读(134)
评论(0)
推荐(0)
摘要:
一个奇怪的做法。先算出两个人到达每个标志用的时间,然后枚举所有两个相邻标志之间,检查两车是否在此之间相遇。如果找到了,计算出时间就可以了。 注意一下精度。 #include<bits/stdc++.h> using namespace std; int n,l; int a[100005]; lon 阅读全文
posted @ 2020-10-24 19:39
Little09
阅读(123)
评论(0)
推荐(0)
摘要:
根据题意,对于每个强盗和每盏灯的关系,我们列出 \(n*m\) 个条件,第 \(i\) 个条件是满足 \(x>a_i\) 或 \(y>b_i\)。我们列出所有条件,按 \(a_i\) 排个序,枚举一下可以满足哪几个条件,然后更新答案就可以了。 #include<bits/stdc++.h> usin 阅读全文
posted @ 2020-10-24 19:38
Little09
阅读(80)
评论(0)
推荐(0)
摘要:
这题有的唯一的题解是尺取法做的,其实这题也可以简单地二分查找。(然而其实不比尺取法实现容易) 先说明,洛谷题面里翻译有误:两两工资差不超过d 应为 工资差值小于d。 两两的差其实转化为最大和最小的差。那么我们先对所有人按工资排序,然后枚举最小的人是谁,在他工资上加 \(d\),然后找到小于这个值的人 阅读全文
posted @ 2020-10-24 19:36
Little09
阅读(96)
评论(0)
推荐(0)
摘要:
贪心地想,肯定是给询问多的位置更大的数。所以先把数排序,对于每个问题差分一下,最后求前缀和,得到每个位置的询问次数。再把询问次数排序,一一对应即可。 #include<bits/stdc++.h> using namespace std; int n,m; long long a[200005]; 阅读全文
posted @ 2020-10-24 19:35
Little09
阅读(97)
评论(0)
推荐(0)
摘要:
单调性优化:单调栈与单调队列 一、单调栈 单调栈,就是要维护一个栈,单调递增或递减。一般地,放入元素时,如果栈顶的元素不符合单调递增(或递减),那就把它弹出,再查栈顶。直到符合或栈空了,再把元素放入。 适用于快速求每个数两侧比它大(或小)的数的位置。 例题-柱状图中最大的矩形 算法 ·其实很简单 · 阅读全文
posted @ 2020-10-24 19:20
Little09
阅读(104)
评论(0)
推荐(0)
摘要:
这题的加强版的我们 PJ 模拟赛的 T4,个人感觉还有点意思的。 先把题目转化一下,就是每个询问给你一个 \(K\) 值和 \(v\) 值,把所有小于 \(K\) 的边都删掉,然后从 \(v\) 能走到几个节点。 可以离线,所以选择离线。把问题按 \(K\) 从大到小排序,把边按权值从大到小排序。然 阅读全文
posted @ 2020-10-24 19:11
Little09
阅读(171)
评论(0)
推荐(0)
摘要:
一个很显然的做法是求二维前缀和,然后枚举每个子矩形判断,这样的话是 \(O(n^2m^2)\) 的。但是这只能拿到 $60$ 分。 那么我们可以考虑,对于两个矩形 \((1,y_1,x_1,y_2)\) 和 \((1,y_1,x_2,y_2)(x_1<x_2)\),若它们内部的和对 \(k\) 求余 阅读全文
posted @ 2020-10-24 19:09
Little09
阅读(82)
评论(0)
推荐(0)
摘要:
直接考虑 dp。令 \(dp[i][j]\) 表示到第 \(i\) 棵樱花树,摘了 \(j\) 片樱花的可能方案数。转移方程很显然,就是枚举在每个树下摘的几片樱花: \(dp[i][j]=\sum_{k=0}^{min(a[i],j)}dp[i-1][j-k]\) 发现只有上一次会产生影响,所以把 阅读全文
posted @ 2020-10-24 18:44
Little09
阅读(123)
评论(0)
推荐(0)
摘要:
每次选择一个 \(k*k\) 的矩形,显然对于 \((1,1)\) 这个点,只有唯一的矩形选择。那么要是 \((1,1)\) 变成 $0$,也只有唯一的操作。操作后再观察 \((1,2)\),发现只有两个矩形,其中一个刚才已经操作过了,那么这种操作还是唯一的。这样递推下去就可以了。而对于有些放个的矩 阅读全文
posted @ 2020-10-24 18:40
Little09
阅读(129)
评论(0)
推荐(0)
摘要:
现在题解里 Isaunoya 神仙的题解太简洁了,另外两个神仙方法和我不一样,所以我来写一句。 题意是求一个集合中所有子集异或和之和。 因为是异或运算,所以先拆位。考虑每一位,可以想到,要使贡献为 $1$,那么肯定是选奇数个 $1$ 和偶数个 $0$。我们分两种情况看一下: 所有的 \(n\) 个数 阅读全文
posted @ 2020-10-24 18:39
Little09
阅读(155)
评论(0)
推荐(0)
摘要:
前言 一个初二彩笔的游记。停更。 点击将网页转换为AC_WA自动机太菜了模式 引申作品 考 csp 的笨蛋机 result: J 400 S 215 DAY -24 初赛那天没来得及写东西,然后昨天在whk,今天人不舒服在家里,给它补上。 上午考了提高级,本以为要 \(90+\),结果挂成屎。 来看 阅读全文
posted @ 2020-10-24 18:35
Little09
阅读(197)
评论(0)
推荐(0)
该文被密码保护。 阅读全文
posted @ 2020-10-24 18:31
Little09
阅读(73)
评论(0)
推荐(0)

浙公网安备 33010602011771号