
【算法】找规律
文章平均质量分 88
cz_xuyixuan
这个作者很懒,什么都没留下…
展开
-
【BZOJ1002】【FJOI2007】轮状病毒
【题目链接】点击打开链接【思路要点】输入与输出仅包含一个数,考虑找规律。使用欧几里得算法配合\(Matrix-Tree\)定理求解取模一个大质数下问题的答案,并打表。结果如下\(F(1)=1,F(2)=8,F(3)=16,F(4)=45,F(5)=121,F(6)=320,F(7)=841,F(8)=2205\)。发现规律,\(F(i)=3*F(i-原创 2018-01-12 11:10:27 · 349 阅读 · 0 评论 -
【校内训练2019-02-21】GT的游戏
【思路要点】记 fif_ifi 表示 iii 的最大非平凡因子。不难发现,游戏结束当且仅当满足 l≤i≤r,fi<ll\leq i\leq r,f_i<ll≤i≤r,fi<l 的 iii 都出局。记 N=r−l+1N=r-l+1N=r−l+1 , MMM 表示满足 l≤i≤r,fi<ll\leq i\leq r,f_i<l...原创 2019-02-22 13:21:06 · 201 阅读 · 0 评论 -
【LOJ6412】「ICPC World Finals 2018」骑士之旅
【题目链接】点击打开链接【思路要点】可以用基于连通性的动态规划计算 NNN 较小时的结果,例如 N≤80N\leq 80N≤80 时的结果。观察得到的结果,对于给定的 MMM ,存在 A,B,CA,B,CA,B,C 使得对于 N≥AN\geq AN≥A ,有 Ans(M,N)=Ans(M,N−B)+CAns(M,N)=Ans(M,N-B)+CAns(M,N)=Ans(M,N−B...原创 2019-03-24 13:46:13 · 464 阅读 · 0 评论 -
【LOJ3158】「NOI2019」序列
【题目链接】点击打开链接【思路要点】笔者本题的做法是基于对决策点进行打表得到的,并不能给出严格的证明。但确实得到了一个与标准解法,或是模拟费用流解法完全不同的做法。考虑一个 O(N3)O(N^3)O(N3) 的动态规划,将数组按照 aia_iai 排序,那么一旦确定了 LLL 对都选的位置,剩余的 K−LK-LK−L 个选择 aia_iai 的位置一定是一个前缀。因此,我...原创 2019-07-31 13:58:28 · 1059 阅读 · 0 评论 -
【LOJ3160】「NOI2019」斗主地
【题目链接】点击打开链接【思路要点】打表可得,若各个位置 iii 上权值的期望是关于 iii 的一 / 二次函数,则经过一次洗牌后,各个位置 iii 上权值的期望依然是关于 iii 的一 / 二次函数。暴力计算牌堆底的三项,然后插值即可。时间复杂度 O(M+Q)O(M+Q)O(M+Q) 。【代码】#include<bits/stdc++.h>using...原创 2019-07-31 14:06:30 · 729 阅读 · 0 评论 -
【LOJ2954】「NOIP2018」填数游戏
【题目链接】点击打开链接【思路要点】题目中对矩阵的限制等价于如下两点:(1)(1)(1) 、同一条副对角线上的元素单调不增。(2)(2)(2) 、若同一条副对角线上相邻的两个位置相等,那么它们右下方的一个矩阵的每一条一条副对角线上的元素均相等。用搜索实现该算法,并利用上述两个性质剪枝。注意到搜索的每一个分支都至少有一个答案,因此其时间复杂度为 O(Ans(N,M))O(A...原创 2018-12-13 10:45:01 · 987 阅读 · 0 评论 -
【CodeForces506E】Mr. Kitayuta's Gift
【题目链接】点击打开链接【思路要点】首先有一个简单的 O(∣S∣3+N∗∣S∣2)O(|S|^3+N*|S|^2)O(∣S∣3+N∗∣S∣2) 的 dpdpdp 做法,即从结果串的两边向中间 dpdpdp 。这个方法同样可以对于所有 M≤NM≤NM≤N 算出所有答案。由数据范围,本题的正解很可能是矩阵乘法优化 dpdpdp ,不妨用上述 dpdpdp 计算较小范围的答案,然后...原创 2018-11-22 13:29:08 · 1192 阅读 · 0 评论 -
【CodeChef】September Challenge 2018 (Div. 1 + Div. 2) 题解
【比赛链接】点击打开连接**【ANDSQR】**AND Square Subsegments【思路要点】离线询问,按左端点排序。枚举区间的左端点 lll ,区间 [l,i][l,i][l,i] 的 andandand 和至多变化 O(LogV)O(LogV)O(LogV) 次,二分找到分界点,并找到其中是完全平方数的。每一段 andandand 和相同的区间 [l,i][l...原创 2018-10-06 16:04:18 · 362 阅读 · 0 评论 -
【BZOJ4766】文艺计算姬
【题目链接】点击打开链接【思路要点】写一个运用Matrix-Tree定理在取模一个大质数下解决本题的程序,通过打表找到规律:$$Ans=N^{M-1}M^{N-1}$$由于模数可能很大,具体实现时需要将乘法替换为快速加。时间复杂度\(O(Log^{2}_{N})\)。可以用Matrix-Tree定理用\(N\)和\(M\)来表示拉普拉斯矩阵(除去一行原创 2018-02-06 10:28:38 · 367 阅读 · 0 评论 -
【USACO】2018 February Contest, Platinum题解
【比赛经历】看完T1先写了一个\(O(NM)\)的暴力,交一发,得分5/10,说明正确地理解了题意。感觉T1码量挺大的,于是先放了一下。T2是傻题,看完10min写掉了,得分10/10。回过头来把T1的线段树码了,一遍写对,不用痛苦地调这个鬼题,提交,得分10/10,跑了1.8s,果然STL不能乱用,差点T了。时间一共过了1.5h-。再看T3,先写了个暴力,找了找规律(还试了试OEIS),然后发现...原创 2018-03-06 10:58:06 · 833 阅读 · 0 评论 -
【BZOJ4475】【JSOI2015】子集选取
【题目链接】点击打开链接【思路要点】不难发现问题对于\(S\)中的\(N\)个元素是相互独立的,因此\(Ans(N,K)=Ans(1,K)^N\)。考虑\(N=1\)的情况,令“选取”为1,“不选取”为0,问题实际上要求1形成的轮廓线单调的三角形数。我们可以把一种合法的方案看作一条从三角形左下角只向右或上走,走到三角形斜边的路径,路径左上方为1,右下方为0。任意一条这样的路径长度均为\(K\),每...原创 2018-04-19 18:18:31 · 241 阅读 · 0 评论 -
【BZOJ1228】【SDOI2009】E&D
【题目链接】点击打开链接【思路要点】补档博客,无题解。【代码】#include<bits/stdc++.h>using namespace std;#define MAXN 1005int get(int x, int y) { if (x % 2 == 1 && y % 2 == 1) return 0; else return get((x + 1) / ...原创 2018-04-19 18:23:28 · 234 阅读 · 0 评论 -
【AtCoder】AtCoder Regular Contest 099 题解
【比赛链接】点击打开链接【题解链接】点击打开链接【C】Minimization【思路要点】显然我们每次操作的区间内都会包含1。因此\(Ans=1+\lceil\frac{N-K}{K-1}\rceil\)。时间复杂度\(O(1)\)。【代码】#include<bits/stdc++.h>using namespace std;const int MAXN = 100005;tem...原创 2018-06-25 15:01:40 · 852 阅读 · 0 评论 -
【CodeForces850F】Rainbow Balls
【题目链接】 点击打开链接 【思路要点】 考虑枚举最后剩下的一种球是哪一种球。 令sum=∑Ni=1aisum=∑i=1Naisum=\sum_{i=1}^{N}a_i,问题被转化为了今有aiaia_i个黑球和sum−aisum−aisum-a_i个白球,在最后剩下黑球的情况下期望的操作步数。 设fifif_i表示当前有iii个黑球和sum−aisum...原创 2018-06-30 21:24:34 · 416 阅读 · 0 评论 -
【CodeChef】Lucas Theorem
【题目链接】点击打开链接【思路要点】考虑subtask1,我们很容易可以得到一个动态规划的解法。注意到行与行之间转移的卷积本质,我们可以用FFT快速计算出DP数组的某一行,可以通过subtask2。原题中N非常大,我们不可能求得DP数组的第N行。考虑多项式x(x+1)(x+2)(x+3)…(x+p-1),在模质数p意义下,应当等于x^p-x。因为我们打表发现这两个多项式拥有...原创 2018-07-01 21:10:54 · 473 阅读 · 0 评论 -
【CodeForces】CodeForces Round #511 (Div. 1) 题解
【比赛链接】点击打开连接【题解链接】点击打开链接**【A】**Enlarge GCD【思路要点】令所有数的 gcdgcdgcd 为 ggg ,将所有数除去 ggg ,问题变为了所有数的 gcdgcdgcd 为 111 的情况。我们要选出一个最大的数集,使得这个数集中的数存在不为 111 的公因数。显然我们只需要考虑所有质数即可,线性筛求出每个数的最小质因子,质因...原创 2018-09-25 11:22:38 · 402 阅读 · 0 评论 -
【LOJ2328】「清华集训 2017」避难所
【题目链接】点击打开链接【思路要点】令 xxx 表示满足 x2≥bx^2\geq bx2≥b 的最小的质数, yyy 表示满足 y3&lt;by^3&lt; by3<b 的最大的质数。注意到当 bbb 足够大时, 333 个 x∗yx*yx∗y 可以构成一组解,因为贪心会将其分解为 x,x,x,y3x,x,x,y^3x,x,x,y3 。事实上,当 b≥1...原创 2018-10-03 16:12:06 · 541 阅读 · 4 评论