- 博客(23)
- 收藏
- 关注
原创 [POI2008]PER-Permutation 非质数取模
PER-PermutationQuestion求一个有重复元素的排列的字典序 Solution类似于康托展开 从后往前算出比每一位小的排列的个数 累加起来便是字典序,只不过这里的个数要考虑到重复元素这里主要讲取模(因为这里模数不一定是质数)推出式子后,发现每次需要乘n−in−in - i ,还要除以cnt[a[i]]cnt[a[i]]cnt[a[i]] 主要...
2018-05-03 19:23:27 772
原创 Suffix Array Poj 1743
Musical ThemeQuestion求字符串中不重叠重复出现的最长子串长度 #include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#define For(i,s,e) for(int i=(s); i<=(e)...
2018-04-30 20:42:21 172
原创 APIO2016 Gap [交互题]
[APIO2016] GapQuestion题意比较简单,让你在有限次查询中,找到一个严格递增的非负整数数列中的最大差值(ai+1−aiai+1−aia_{i+1}-a_i) 0≤a1<a2<...<an≤10180≤a1<a2<...<an≤10180\le a_1 MinMax(s,t,mn,mx)MinMax(s,t,mn,mx) Mi...
2018-04-27 11:32:37 418
原创 APIO2014 Beads ans wires[树形DP]
[APIO2014] Beads and wiresQuestion:有一个点,可以通过两种方式添加节点 Append(w,v)Append(w,v)Append(w, v):一个新的珠子 www 和一个已经添加的珠子 vvv 用红线连接起来。Insert(w,u,v)Insert(w,u,v)Insert(w, u, v):一个新的珠子 www 插入到用红线连起来的两个珠子u...
2018-04-27 10:41:40 189
原创 寿司餐厅
寿司餐厅一个数列,每个点都有代号,任意区间都有获利 d[i][j],重复区间算一次,如:选定[1,3],则获利d[1][1], d[2][2], d[3][3], d[1][2], d[2][3], d[1][3]。设代号为x,出现次数为c,则代价为mx2+cxmx2+cxmx^2+cx ,求获利-代价的最大值 最小割所有区间看作点,设计选与不选的代价是多少特殊的,a[i]只会被形如...
2018-03-27 07:51:52 194
原创 SDOI2014 数表
SDOI2014 数表有一张 n×m 的数表,其第 i 行第 j 列(1≤≤\leqi≤≤\leqN,1≤≤\leqj≤≤\leqm, 1 ≤≤\leq i ≤≤\leq N, 1 ≤≤\leq j ≤≤\leq m,1≤≤\leqi≤≤\leqN,1≤≤\leqj≤≤\leqm)的数值为能同时整除 i 和 j 的所有自然数之和。给定 a,计算数表中不大于 a 的数之和。注意把有...
2018-03-23 17:45:42 185
原创 莫比乌兹反演, 欧拉函数等乱七八糟的数论公式推导题
前言最近学了些数论函数,有了一些小小小小的套路经验 强烈推荐以下几个博客 数论函数变换总结 金策大佬 超详细 课件狄利克雷卷积定义:(f×g)(n)=∑d|nf(d)g(nd)(f×g)(n)=∑d|nf(d)g(nd)(f \times g)(n) = \sum_\limits{d|n} f(d)g(\frac{n}{d}) 方便表示出一些推导过程 随之而来...
2018-03-21 22:13:59 497 1
原创 Cogs_动态排名系统[整体二分]
动态排名系统单点修改,查询区间第k小整体二分整体二分其实就是二分的进化版本先看这类题的简化版 查询[x, y] 第k小先二分一个答案 mid 记[1,y]中比 midmidmid 小的有 cnt1cnt1cnt_1 个 [1,x-1]中比 midmidmid 小的有 cnt2cnt2cnt_2 个若cnt1−cnt2≥kcnt1−cnt2≥kcnt_1...
2018-03-17 09:46:08 355
原创 Cogs_蝗灾
蝗灾单点修改,矩阵求和n≤105n≤105n\le10^5CDQ分治#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define File(x) "test."#x#define For(i,s,e) for(int i=(...
2018-03-17 08:04:48 188
原创 土地购买
有nnn块土地需要购买,每块土地都是矩形的,有特定的长与宽。你可以一次性购买一组土地,价格是这组土地中长的最大值乘以宽的最大值。比方说一块5×3的土地和一块9×2的土地在一起购买的价格就是9×3。显然,怎样分组购买土地是一门学问,你的任务就是设计一种方案用最少的钱买下所有的土地,你只需输出最小花费。(土地的宽度记为x[i]x[i]x[i],长度为y[i]) n≤106n≤106n \le10^6...
2018-03-12 20:54:37 247
原创 HNOI2008_玩具装箱toy
有nnn个玩具需要装箱,每个玩具的长度为c[i]c[i]c[i],规定在装箱的时候,必须严格按照给出的顺序进行,并且同一个箱子中任意两个玩具之间必须且只能间隔一个单位长度,换句话说,如果要在一个箱子中装编号为iii~jjj的玩具,则箱子的长度必须且只能是l=j−i+∑jk=ic[k]l=j−i+∑k=ijc[k]l=j-i+ \sum_{k=i}^j c[k],规定每一个长度为?的箱子的费用是p=...
2018-03-12 20:45:58 219
原创 [wc2011]Xor
Xor 给定一个n(n≤50000) 个点m(m≤10000) 条边的无向图,每条边上有一个权值。请你求一条从1到n的路径,使得路径上的边的异或和最大。 线性基 任意选一条道路,作为初始答案 对所有环求异或和 对所有数求线性基,最优解一定是当前道路异或上一些环 贪心修改答案 冗长代码#include <iostream>#inc...
2018-03-10 22:02:20 226
原创 线段树易错点(仅限本人)
Sequence operation更新区间,区间染色,区间合并Q:对于一个01序列 区间修改为0/1 区间每个数修改为异或 查询区间最长1序列 查询区间1的个数易错点_1标记先后顺序,能否同时存在(此题中我的写法同时存在会有BUG)如:downFlag, updatevoid update(int o, int l, int r){ ...
2018-03-08 22:10:56 189
原创 硬币购买
一共有 4 种硬币,面值分别为 c1,c2,c3,c4 。阿Q带着一些硬币去商店买东西,他带了d1枚第一种硬币,d2枚第二种硬币,d3枚第三种硬币,d4枚第四种硬币,若想买一个价值为s的东西,问阿Q有多少种付coins的方法。 #include <iostream>#include <cstdio>#include <algorithm>#includ...
2018-03-08 17:53:51 225
原创 树型背包DP
Codeforces 815C Karen and Supermarket*有 n 个商品,第 i 个商品原价为 ci,如果使用该商品的 优惠券则可以降低 di(di < ci) 元。除了第一个商品外,如果 要使用第 i 个商品的优惠券,就必须购买商品 xi(xi < i) 并使 用其优惠券。问 b 元最多能购买多少件商品。 1 ≤ n ≤ 5000; 1 ≤ b; ci;...
2018-03-07 22:00:01 158
原创 BZOJ5059 前鬼后鬼的守护
前鬼后鬼的守护给一个长度为n的正整数序列a,每次你可以花|ai-a′i|的代价把 ai修改成a′i,要求用最小的代价把数列修改成单调非降的(即 ai≤ai+1)。n≤5*10^5;ai≤10^9。#include <iostream>#include <cstdio>#include <algorithm>#include <cstr...
2018-03-07 21:59:47 243
原创 ZJOI2016小星星
ZJOI2016小星星 给一棵n个点的树和一个n个点m条边的无向图。 问有多少种方案把树上的节点一一对应到一个无向图上的节点, 且树上两点间有边时,他们在无向图上对应的两个点之间也要有边。 n≤17#include <iostream>#include <cstdio>#include <algorithm>#include <c...
2018-03-07 21:59:38 303
原创 线段树优化最短路建边
Legacy 给出一个带权有向图,有三种操作:1.u->v添加一条权值为w的边2.区间[l,r]->v添加权值为w的边3.v->区间[l,r]添加权值为w的边求st点到每个点的最短路#include <iostream>#include <cstdio>#include <algorithm>#include &...
2018-03-07 21:59:21 655
原创 LCT (Link-Cut-Tree) 学习笔记
LCT解决动态树问题的一种数据结构推荐 PoPoQQQ 的详解 链上求和 链上求最值 链上修改 断开树上一条边 * 连接两个点 *概念重儿子(暂时这样命名): 一个节点最多只能有一个重儿子重边: 连接父亲节点和重儿子的边重链: 由重边和重边连接的节点构成的链轻边: 除了重边以外的边重点类比树链剖分,每条重链...
2018-02-22 19:36:20 216
原创 Gauss消元
Gauss消元 解多元一次方程组两两相消For(j,i+1,n) { if(fabs(m[j][i])>eps) d=-m[j][i]/m[i][i]; For(k,i,n+1) m[j][k]+=d*m[i][k]; }模板题高斯消...
2018-02-20 20:57:54 294
原创 Treap模板
Treap可持久化,多种区间操作merge操作int merge(int a, int b){ if(!a || !b) return a+b; if(rnd(b)>=rnd(a)){ l(b)=merge(a,l(b)); update(b); return b; } else { r(a)=merge...
2018-02-20 20:28:58 143
原创 主席树模板
主席树模板 主要用来查询区间第k小insert操作int insert(int o, int x){ int now=++len,root,l=1,r=m,mid; root=now; s(now)=s(o)+1; while(l < r) { mid=(l+r)/2; if(x<=mid){...
2018-02-20 20:15:07 167
原创 [SDOI2017]序列计数
DescriptionAlice想要得到一个长度为n的序列,序列中的数都是不超过m的正整数,而且这n个数的和是p的倍数。Alice还希望,这n个数中,至少有一个数是质数。Alice想知道,有多少个序列满足她的要求。Input一行三个数,n,m,p。1<=n<=10^9,1<=m<=2×10^7,1<=p<=100Output一行一个数,满足Alice的要求的序列...
2018-02-20 16:09:52 310 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人