关闭
当前搜索:

[置顶] C++学习手记

对拍程序(cpp版) #include #include #include #include #include #include using namespace std; int main() { for (int i=1;i100000;i++) { printf("%d ",i); system("adata"); dou...
阅读(61) 评论(0)

[置顶] 汇自各个角落的鸡汤

所谓考试就是站在一些奇奇怪怪的角度,去看你在路上走了多远,但事实上你走了多远,欣赏到多少美丽的沿途的风景,也只有自己知道了。 越是想要做到什么,就越是会被“贪婪”所吞噬。 所以, 无论能做到什么都无所谓, 我只想要自己的那份安心。 我的梦想,就是不受梦想的折磨。...
阅读(141) 评论(3)

[置顶] 待学习的姿势

梁泽宇大牛:标号法——顺序维护的有力工具图文百度文库 51nod 1822 序列求和 V5 51nod Danganronpa bzoj 4650: [Noi2016]优秀的拆分 CF 700E Cool Slogans CodeChef STRQUERY 学习:洲阁筛: 51nod 1847 奇怪的数学题 51nod 1184 第N个质数 学习:最大密度子图: bzoj 13...
阅读(222) 评论(0)

bzoj 4650: [Noi2016]优秀的拆分 后缀数组

题意 如果一个字符串可以被拆分为 AABB 的形式,其中 A 和 B 是任意非空字符串,则我们称该字符串的这种拆分是优秀的。例如,对于字符串 aabaabaa,如果令 A=aab,B=a,我们就找到了这个字符串拆分成 AABB 的一种方式。一个字符串可能没有优秀的拆分,也可能存在不止一种优秀的拆分。比如我们令 A=a,B=baa,也可以用 AABB 表示出上述字符串;但是,字符串 abaabaa...
阅读(9) 评论(0)

bzoj 3782: 上学路线 dp+中国剩余定理+lucas定理

题意 小C所在的城市的道路构成了一个方形网格,它的西南角为(0,0),东北角为(N,M)。小C家住在西南角,学校在东北角。现在有T个路口进行施工,小C不能通过这些路口。小C喜欢走最短的路径到达目的地,因此他每天上学时都只会向东或北行走;而小C又喜欢走不同的路径,因此他问你按照他走最短路径的规则,他可以选择的不同的上学路线有多少条。由于答案可能很大,所以小C只需要让你求出路径数mod P的值。...
阅读(7) 评论(0)

bzoj 5017: [Snoi2017]炸弹 线段树优化建图+tarjan+拓扑排序

题意 在一条直线上有 N 个炸弹,每个炸弹的坐标是 Xi,爆炸半径是 Ri,当一个炸弹爆炸时,如果另一个炸弹所在位置 Xj 满足: Xi−Ri≤Xj≤Xi+Ri,那么,该炸弹也会被引爆。 现在,请你帮忙计算一下,先把第 i 个炸弹引爆,将引爆多少个炸弹呢? N≤500000 −10^18≤Xi≤10^18 0≤Ri≤2×10^18 分析 大概就是说,每个炸弹可以向一段连续的区...
阅读(22) 评论(0)

bzoj 4598: [Sdoi2016]模式字符串 点分治+hash

题意 给出n个结点的树结构T,其中每一个结点上有一个字符,这里我们所说的字符只考虑大写字母A到Z,再给出长度为m的模式串s,其中每一位仍然是A到z的大写字母。Alice希望知道,有多少对结点u,v>满足T上从u到V的最短路径形成的字符串可以由模式串S重复若干次得到?这里结点对u,v>是有序的,也就是说u,v>和v,u>需要被区分.所谓模式串的重复,是将若干个模式串S依次相接(不能重叠).例如当S...
阅读(11) 评论(0)

bzoj 1937: [Shoi2004]Mst 最小生成树 KM算法

题意 1 分析 有点奇怪一个O(n3)O(n^3)的算法为什么跑这么快。。。 做法大概就是说,把原图中的每一条边看成新图中x侧的点,把mst中的边看成新图中y侧的点。 若原图中有一条边(x,y,w)(x,y,w),且mst上x到y路径中边的最大值大于w,那么这两条边就要相互影响。 准确的来讲,就是这两条边的代价的和不得小于他们权值差的绝对值。 设lx[i]lx[i]表示mst上...
阅读(10) 评论(0)

uoj #80. 二分图最大权匹配 KM算法

题意 求二分图最大权匹配。 n 分析 妈妈我终于学会了KM算法系列。 一开始去网上找了个标,改了改交上去结果T了。。。然后就自己yy了一个模板出来。 具体的算法实现可以去看15年的论文。 代码 #include #include #include #include #include using namespace std; typedef long long LL;...
阅读(15) 评论(0)

bzoj 4597: [Shoi2016]随机序列 线段树

题意 你的面前有N个数排成一行。分别为A1, A2, … , An。你打算在每相邻的两个 Ai和 Ai+1 间都插入一个加号或者减号或者乘号。那么一共有 3^(n-1) 种可能的表达式。你对所有可能的表达式的值的和非常感兴趣。但这毕竟太简单了,所以你还打算支持一个修改操作,可以修改某个Ai 的值。你能够编写一个程序对每个修改都输出修改完之后所有可能表达式的和吗?注意,修改是永久的,也就是说每次修...
阅读(15) 评论(0)

Codeforces 896E Welcome home, Chtholly 分块+并查集

题意 给出一个长度为n序列A,要求支持m个操作: 1 l r x对于区间[l,r]中所有大于x的位置,将其减去x 2 l r x查询区间[l,r]中有多少个位置的值恰好为x n,m,A[i],x 分析 首先需要大力分块一波。 对于每一个块,我们将权值相同的位置用并查集搞在一起,并维护一个tagtag表示整块的值要减去多少,mxmx表示块内最大值。 对于操作1: 首先两边的块可以暴...
阅读(16) 评论(0)

bzoj 4044: [Cerc2014] Virus synthesis 回文树

题意 你要用ATGC四个字母用两种操作拼出给定的串: 1.将其中一个字符放在已有串开头或者结尾 2.将已有串复制,然后reverse,再接在已有串的头部或者尾部 一开始已有串为空。求最少操作次数。 len 分析 首先有一个结论,就是组成一个偶回文串的最后一步一定是操作二。 这样的话我们可以把回文树搞出来然后dp。 设f[i]表示建出回文串i的最少步数。 f[长度为0的偶...
阅读(17) 评论(0)

CS Academy Round 65 Classic Task 分治+dp

题意 有一个n∗mn*m的矩阵AA,每个格子有一个权值。要你找一条从(1,1)(1,1)到(n,m)(n,m)的路径,每次只能从(x,y)(x,y)走到(x,y+1)(x,y+1)或(x+1,y)(x+1,y),且经过的位置的权值和最小。 输入两个数组UU和VV,Ai,j=(Ui+j)xor(Vj+i)A_{i,j}=(U_i+j)xor(V_j+i)。 n,m=10000n,m,要求输出路...
阅读(28) 评论(1)

Codechef TREEPATH 线段树优化dp+dsu on tree

题意 给定一棵无根树,每个节点上都写了一个整数。 你的任务就是统计有多少种方法可以将这棵树分解为若干条路径,使得每个节点恰好属于一条路径,而且每条路径的节点上的数字之和非负。 1≤每组数据中的N之和≤1051 ≤ 每组数据中的 N 之和 ≤ 10^5 1≤N≤105 1 ≤ N ≤ 10^5 −104≤Ai≤104 −10^4 ≤ Ai ≤ 10^4 分析 首先来考虑暴力要怎么打...
阅读(31) 评论(0)

bzoj 4867: [Ynoi2017]舌尖上的由乃 分块

题意 给一个序列,要求资瓷区间加和求区间第k小。 n,m 分析 用数据结构显然不好做,考虑分块。 首先对于每一块都维护一个有序的数组,数组第一维表示权值,第二维表示编号。 对于修改操作,整块的我们可以打标记。对于多余的块,我们可以将其分成要修改和不修改两部分,修改完后再归并排序回去就可以仍然保持其有序了。 对于询问操作,可以先二分答案,然后在每一块上二分。注意多余的块不能每次暴力...
阅读(39) 评论(0)

51nod 1446 限制价值树 矩阵树定理+折半搜索+容斥

题意 有N个点(N=0那么这个点为定义为good。现在给这N个点间连上N-1条边,使它们构成一个生成树,定义树中的点为great点当且仅当这个点本身是good点且与其相邻的点中至少有另一个good点。树的价值等于树中所有great点的价值和。定义限制价值树是指价值不大于maxVal的树,问对给定的val[]与maxVal,一共有多少种不同的限制价格树?由于答案太大,可取 modulo 1,0...
阅读(39) 评论(0)

bzoj 4405: [wc2016]挑战NPC 带花树算法

题意 小N最近在研究NP完全问题,小O看小N研究得热火朝天,便给他出了一道这样的题目: 有n个球,用整数1到n编号。还有m个筐子,用整数1到m编号。 每个筐子最多能装3个球。 每个球只能放进特定的筐子中。具体有e个条件,第i个条件用两个整数vi和ui描述,表示编号为vi的球可以放进编号为ui的筐子中。 每个球都必须放进一个筐子中。如果一个筐子内有不超过1个球,那么我们称这样的筐子为半空的...
阅读(32) 评论(0)

uoj #79. 一般图最大匹配 带花树算法

题意 给一个无向图,求该图的最大匹配并输出方案。 n 分析 妈妈我终于学会了带花树系列。 模板题,具体算法可以看15年的论文,模板的话随便去网上找一个就好了。 代码 #include #include #include #include #include #include using namespace std; const int N=505; int n,m,cn...
阅读(32) 评论(0)

51nod 1667 概率好题 组合数学+容斥原理

题意 甲乙进行比赛。 他们各有k1,k2个集合[Li,Ri] 每次随机从他们拥有的每个集合中都取出一个数 S1=sigma甲取出的数,S2同理 若S1>S2甲胜 若S1=S2平局 否则乙胜 分别求出甲胜、平局、乙胜的概率。 (显然这个概率是有理数,记为p/q,则输出答案为(p/q)%(1e9+7))(逆元) 注意 多组数据 T 分析 思路比较巧妙。 我们把甲的集合拆成L...
阅读(27) 评论(0)

51nod 1375 再选数 容斥原理+线性筛

题意 从前有n个正整数,我们令它为a[1]到a[n]。现在要从选出恰好k个数(如果k=-1则为选任意个数,但是至少选一个),要求这些数的最大公约数是1,问有多少种方案? 答案可能很大,模998,244,353输出。 1≤n≤100,000;1≤k≤n或k=-1。所有的1≤a[i]≤1,000,000并且是随机生成的。 分析 考虑容斥,用全部方案减去gcd大于1的方案。可以枚举gcd有...
阅读(53) 评论(0)

Codeforces 600E Lomsat gelral [dsu on tree(树上启发式合并)]

题意 给出一棵树,1为根节点,每个点都有一个颜色。求每个点所在子树内所有出现次数最多的颜色的和。 n 分析 新学习了一种姿势叫dsu on tree,大概意思就是树上启发式合并吧。 dsu on tree大概是用来解决这样一类问题:需要多次查询某棵子树内的某个值(必须要离线)。像这题就是需要查询每棵子树出现颜色次数最多的颜色的和。 怎么做呢? 首先我们把这棵树的dfs序求出来,顺...
阅读(318) 评论(0)

bzoj 4784: [Zjoi2017]仙人掌 树形dp+双连通分量

题意 给出一个仙人掌,无重边自环,问有多少种加边方案使得其还是一个仙人掌(可以不加)。 n 分析 显然一开始可以特判掉不是仙人掌的情况,然后输出0.这个可以用树上差分来实现。 然后将所有的环都找出来,将环上的边标记为不可走,那么剩下的边就组成了一个森林,我们就可以愉快的树形dp啦! 考虑一棵树,我们设强制每颗子树必然要加一条连到其祖先的边(根节点特判),显然这样的边只能有一条。若本...
阅读(399) 评论(0)
840条 共42页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:204544次
    • 积分:9545
    • 等级:
    • 排名:第2196名
    • 原创:837篇
    • 转载:3篇
    • 译文:0篇
    • 评论:36条
    欢迎qq交流
    qq:763647200
    文章分类
    最新评论