博客园 首页 私信博主 显示目录 隐藏目录 管理 动画
摘要: "题目链接" (卡常背包) 朴素的多重背包是: $f[i][j] = \max\{ f[i 1][j k v[i]]+k w[i] \}$,复杂度 $O(nV \sum num_i)$ 可以发现求$\max$时有很多值是被重复枚举过的 换一种方程表示形式,对于每个$v[i]$,设$j=K v[i]+ 阅读全文
posted @ 2018-02-22 16:35 SovietPower 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 给定一个长为n的序列,每次可以反转 $[l,r]$ 区间,代价为 $r-l+1$。要求在$4*10^6$代价内使其LIS长度最长,并输出需要操作的数量及每个反转操作。 阅读全文
posted @ 2018-02-22 06:29 SovietPower 阅读(297) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 给定一个长为n的序列A,求两个长为n的序列B,C,对任意的i满足B[i]+C[i]=A[i],且B,C序列分别至少有$\lfloor\frac{2 n}{3}\rfloor$个元素不同。 A中元素各不相同,Ai,Bi,Ci均为非负整数。 $Solution$ 阅读全文
posted @ 2018-02-21 19:38 SovietPower 阅读(257) 评论(0) 推荐(0) 编辑
摘要: RTTTT 阅读全文
posted @ 2018-02-21 12:58 SovietPower 阅读(2055) 评论(0) 推荐(1) 编辑
摘要: "题目链接" 带修改莫队: 普通莫队的扩展,依旧从[l,r,t]怎么转移到[l+1,r,t],[l,r+1,t],[l,r,t+1]去考虑 对于当前所在的区间维护一个vis[l~r]=1,在修改值时根据是否在当前区间内修改即可。 块大小取$O(n^{\frac{2}{3}})$,排序依次按左端点所在 阅读全文
posted @ 2018-02-21 07:59 SovietPower 阅读(209) 评论(0) 推荐(1) 编辑
摘要: 给定一个长为$n$的序列,每次查询区间中出现次数$k1$小的数里面的$k2$小的数。卡空间。 $n,m\leq 40000$。 阅读全文
posted @ 2018-02-20 21:49 SovietPower 阅读(322) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 给出一个长为n的数列,以及n个操作,操作涉及区间询问等于一个数c的元素,并将这个区间的所有元素改为c。 $Solution$ 模拟一些数据可以发现,询问后一整段都会被修改,几次询问后数列可能只剩下几段不同的区间了。 那么还是暴力,每个块维护的是整个块是否仅被 阅读全文
posted @ 2018-02-20 11:34 SovietPower 阅读(301) 评论(0) 推荐(1) 编辑
摘要: "题目链接" 1.分块(vector)+重构 cpp //直接上vector(本机还是比较慢的...) 某块size较大时O(n)重构 //注意细节 include include include include define gc() getchar() define pb push_back t 阅读全文
posted @ 2018-02-20 09:52 SovietPower 阅读(335) 评论(1) 推荐(1) 编辑
摘要: "题目链接" int内的数(也不非得是int)最多开方4.5次就变成1了,所以还不是1就暴力,是1就直接跳过。 cpp include include include include define gc() getchar() typedef long long LL; const int N=5e 阅读全文
posted @ 2018-02-19 22:01 SovietPower 阅读(184) 评论(0) 推荐(0) 编辑
摘要: "题目链接" "高斯消元详解" 阅读全文
posted @ 2018-02-19 21:26 SovietPower 阅读(236) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 扩展中国剩余定理: "1(直观的)" 、 "2(详细证明)" 。 [Upd:] https://www.luogu.org/problemnew/solution/P4774 cpp include include define gc() getchar() typedef long 阅读全文
posted @ 2018-02-19 17:31 SovietPower 阅读(282) 评论(0) 推荐(0) 编辑
摘要: "题目链接" "扩展Lucas" cpp //求C_n^k%m include typedef long long LL; LL FP(LL x,LL k,LL p) { LL t=1ll; for(; k; k =1,x=x x%p) if(k&1) t=t x%p; return t; } vo 阅读全文
posted @ 2018-02-19 16:52 SovietPower 阅读(210) 评论(2) 推荐(1) 编辑
摘要: RT 阅读全文
posted @ 2018-02-19 16:45 SovietPower 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 题目链接 Lucas定理 日常水题...sublime和C++字体死活不同步怎么办... 复杂度: 如果能$O(p)$预处理,复杂度为$O(\log_pn)$,否则要快速幂为$O(\log_pn*\log p)$。 当$p$不是质数时,用扩展Lucas,要加CRT,复杂度看起来比较麻烦。。 //想错 阅读全文
posted @ 2018-02-15 21:34 SovietPower 阅读(189) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 颓了一天 写个模板吧。。 Chinese_Remainder_Theorem: "MashiroSky" 、 "远航之曲" cpp include include define gc() getchar() typedef long long LL; const int N=13; L 阅读全文
posted @ 2018-02-15 00:27 SovietPower 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 题目链接 Pollard_Rho:http://blog.csdn.net/thy_asdf/article/details/51347390 https://zhuanlan.zhihu.com/p/267884783 复杂度:\(O(n^{\frac14})\),即可以跑$long\ long$ 阅读全文
posted @ 2018-02-14 14:40 SovietPower 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "洛谷" 、 "BZOJ2179" cpp //将乘数拆成 a0 10^n + a1 10^(n 1) + ... + a_n 1的形式 //可以发现多项式乘法就模拟了竖式乘法 所以用FFT即可 注意处理进位 //n位 n位最多就只有2n位了 //putchar的速度。。还是快的 inc 阅读全文
posted @ 2018-02-13 23:27 SovietPower 阅读(176) 评论(0) 推荐(0) 编辑
摘要: "题目链接" $Description$ 求$A_0,A_1,A_2,\cdots,A_{n 1}$,满足 $$A_0 1^0+A_1 1^1+\ldots+A_{n 1} 1^{n 1}\equiv B "1" $$ $$A_0 2^0+A_1 2^1+\ldots+A_{n 1} 2^{n 1} 阅读全文
posted @ 2018-02-13 11:00 SovietPower 阅读(290) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 模板题都错了这么多次。。 cpp //边权赋到点上 树剖模板 //注意LCA、链的顶端不能统计到答案! include include include define gc() getchar() define lson l,m,rt 1; Build(lson), Build(rson 阅读全文
posted @ 2018-02-13 09:51 SovietPower 阅读(196) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 显然我们需要使每个i满足$$( ∑_{j} X[j] A[i][j] ) mod\ 2 = B[i]$$ 求这个方程自由元Xi的个数ans,那么方案数便是$2^{ans}$ %2可以用^代替,不难看出 B[i]=st[i]^ed[i] 如果X[j]=1,假设j会影响i,那么X[j] A 阅读全文
posted @ 2018-02-13 08:27 SovietPower 阅读(239) 评论(0) 推荐(0) 编辑
摘要: 题目链接: "洛谷" 、 "LOJ" . FFT相关: "快速傅里叶变换(FFT)详解" 、 "FFT总结" 、 "从多项式乘法到快速傅里叶变换" . 5.4 又看了一遍, "这个" 也不错。 2019.3.7 叕看了一遍,推荐 "这个" 。 cpp include include include 阅读全文
posted @ 2018-02-13 06:43 SovietPower 阅读(227) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp include include include const int N=105; const double eps=1e 10; int n; inline bool bigger(double a,double b) {return std::fabs(a) std::fab 阅读全文
posted @ 2018-02-12 21:09 SovietPower 阅读(188) 评论(0) 推荐(0) 编辑
摘要: "https://www.zybuluo.com/SovietPower/note/1016329" "参考原文" 阅读全文
posted @ 2018-02-12 17:15 SovietPower 阅读(205) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 每行每列不能超过2个棋子,求方案数 前面行对后面行的影响只有 放了0个、1个、2个 棋子的列数,与排列方式无关 所以设f[i][j][k]表示前i行,放了0个棋子的有j列,放了1个棋子的有k列,则放了2个棋子的为(m j k)列 则放棋子一共可分为6种情况 不放棋子:1.f 阅读全文
posted @ 2018-02-12 13:03 SovietPower 阅读(179) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 设f[i]表示当前i往后6位没有重复ai的次数,n = ∑a[i] 则 f[i] = a1/n a2/(n 1) a3/(n 2) a4/(n 3) a5/(n 4) a6/(n 5) a7/(n 6) (= (a1 a2 a3 a4 a5 a6 a7)/(n (n 1) 阅读全文
posted @ 2018-02-12 13:01 SovietPower 阅读(172) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 到达一条河时,船在河中的位置是随机的,所以船到达岸边需要的时间在 0~2l/v 均匀分布,所以船到岸的期望为 (0+2l/v)/2 过河需要 l/v 的时间,所以过一条河总的期望为 (0+2l/v)/2 + l/v = 2l/v 陆地上的速度是确定的,可以直接先计算出来 期 阅读全文
posted @ 2018-02-12 13:01 SovietPower 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 题目链接 ...我找不着了 $Description$ 岛上有t只老虎,1个人,d只鹿。每天随机有两个动物见面 1.老虎和老虎碰面,两只老虎就会同归于尽; 2.老虎和人碰面或者和鹿碰面,老虎都会吃掉对方; 3.人和鹿碰面,人可以选择吃或者不吃该鹿; 4.鹿和鹿碰面,相安无事; 求最后人活下来的最大期 阅读全文
posted @ 2018-02-12 12:59 SovietPower 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 题目链接 ...无 题目: P1864 [Poetize I]守卫者的挑战 时间: 1000ms / 空间: 131072KiB / Java类名: Main 描述 打开了黑魔法师Vani的大门,队员们在迷宫般的路上漫无目的地搜寻着关押applepi的监狱的所在地。突然,眼前一道亮光闪过。 “我,N 阅读全文
posted @ 2018-02-12 12:51 SovietPower 阅读(233) 评论(0) 推荐(0) 编辑
摘要: "题目链接" cpp / 设f[i]为到i的期望得分,c[i]为到i的期望连续长度 则若s[i]=='x',f[i]=f[i 1], c[i]=0 s[i]=='0',f[i]=f[i 1]+2 c[i 1]+1, c[i]=c[i 1]+1 (因为 (l+1)^2 = l^2+2l+1 (l+1) 阅读全文
posted @ 2018-02-12 12:50 SovietPower 阅读(154) 评论(0) 推荐(0) 编辑
摘要: "题目链接" 阅读全文
posted @ 2018-02-12 12:45 SovietPower 阅读(188) 评论(0) 推荐(0) 编辑