自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SUNSET

ACM-ICPC算法系列

  • 博客(19)
  • 资源 (1)
  • 收藏
  • 关注

原创 网络流及建模专题(上)

前言不断更新中…… 这几天新坑填不下去了,回来回顾一些经典的模型套路,先拿网络流开刀,窃以为洛谷这几道网络流的题目还是非常具有代表性的,涵盖了网络流调整、多解计数、最小割、最大权闭合子图问题。 还涵盖了图论(二分图)中的一些结论和:最小不相交路径覆盖、最小可相交路径覆盖、二分图最大点权独立集、二分图最小点权覆盖集等问题,这里将简略介绍一下。本专题包含六道题:P2765、P2764、P2...

2018-04-24 16:25:28 2338

原创 网络流及建模专题(下)

前言不断更新中… 专题的(下)篇将介绍网络流的一些奇奇怪怪的应用和费用流有关的一些套路。本专题暂时包含三道题:洛谷P1251 餐巾计划问题: 费用流的基本应用 Trade Gym - 100212I: 使用网络流对图论中的边进行调整 codeforces 818G - Four Melodies: 费用流压缩建图洛谷P1251餐巾计划问题题意见题目链接...

2018-04-26 16:22:57 662

原创 codeforces gym-101736 Dessert First Strategy 最小割

题目题目链接题解很典型的最小割模型问题,我们知道颜色不确定的点最终要么是白色,要么是黑色,是两种对立的状态,我们联想到了最小割。 最小割是割掉权值和最小的边集,使得图中的点分成两个点集,一个包含sss点,一个包含ttt点,与这道题的要求非常相似。我们构建3组点。 一组是确定为白色的点,与sss相连,流量为infinfinf。 一组是确定为黑色的点,与ttt相连,流量为in...

2018-04-23 08:51:08 213

原创 codeforces gym-101736 Farmer Faul 平衡树+并查集

题目题目链接题意给出nnn个整数,其中1≤n≤1061≤n≤1061≤n≤10^6。 给出三种操作:GROW x y,表示给xxx位置的数增加yyy。MAGIC x,表示给所有的数增加xxx。CUT x,表示把所有大于x的数切割到x,并输出本次切割割了多少。题解乍一看,似乎没有很符合这个题目情形的数据结构,我们需要把多种数据结构结合起来。首先我们把所有...

2018-04-23 08:32:27 439 2

原创 洛谷P2501数字序列 动态规划

题目题目链接题解这道题目我觉得是神题,非常有意思的题目,也挺难做的。第一问:求最少需要改变的数量这一问比较简单,之前也见过这种套路。 定义dp[i]dp[i]dp[i]表示aaa序列中a[1,i]a[1,i]a[1,i]部分构成严格递增子序列且以a[i]a[i]a[i]为结尾所不需要改变的最大的数量。 那么转移方程就是: dp[i]=min1≤j<i,a[i...

2018-04-19 13:30:05 317

原创 洛谷-省选斗兽场-动态规划1

记练习一下动态规划水题系列,防止脑子生锈。P1879 玉米田题解非常典型的状态压缩DPDPDP,先预处理出所有可行的状态SSS。 然后逐行DPDPDP,定义状态dp[i][S]dp[i][S]dp[i][S]表示的含义是前iii行满足条件,并且第iii行的状态为SSS,可行的方案数。然后状态转移:dp[i+1][nS]=∑nS与pS=0且nS可行dp[i][pS]dp...

2018-04-16 23:32:56 331

原创 codeforces gym-101673 Twenty Four, Again 24点,枚举表达式树过题

题目题目链接题意给出4个数字,让你任意指定运算符(3个)、增加括号、交换数,问组成24点的代价最小是多少。增加括号:代价为1。交换数的顺序:代价为2。题解方法就是暴力枚举,我们可以先枚举数的顺序(4!4!4!种可能性),再枚举运算符类型(43434^3种可能性),再枚举表达式树的结构(555种情况,计算可以使用卡特兰数计算)。 然后在把枚举的数的顺序、运算符填...

2018-04-12 21:37:45 713

原创 codeforces 962E Byteland, Berland and Disputed Cities 最小生成树变形

题目题目链接题意在OxOxOx轴上有一堆点,这些点有三种类型R、B、PR、B、PR、B、P型,现在要求添加一些线段把这些点连起来,使得如果去掉RRR类型点,剩下的点都是联通的。如果去掉BBB类型的点,剩下的点也是联通的,求最小的边长度总和。题解如果我们单单只看去掉R(B)R(B)R(B)类型的点的时候,这道题毫无疑问是一道最小生成树的题目,实际上也并不需要用一些最小生成...

2018-04-12 15:03:49 427

原创 HDU5833 异或方程组的初步学习

题目题目链接题解选出来的数相乘要能组成一个完全平方数,则这个完全平方数进行素数分解以后,相同的素因子的个数是偶数个。基于这个结论,我们对与每一个候选数a[i]a[i]a[i]进行质因数分解(最多有303个不同的质因子)。然后针对每一个质因子ppp,列一个包含所有nnn个数的异或方程,如果某个数具有奇数个ppp,那么这个数前的系数就应该为1,否则应该为0。方程的右面始终为0,这是...

2018-04-09 11:18:10 456

原创 codeforces gym-101741 Elevator 动态规划、单调队列

题目这里写链接内容题解注意:题目给出是按照时间给出的顺序。我们考虑第iii个人要上的楼高h[i]h[i]h[i],排在第iii个人前面的,所有要人上的楼高度≤h[i]≤h[i]≤h[i]的人都可以被合并在与第iii个人一起被传送上去。所以我们只需要考虑h[i]h[i]h[i]单调递减的序列就可以了,其它的人我们都可以删掉不看,因为它已经被合并了。例如: 一个hhh序列...

2018-04-07 22:01:11 398

原创 经典题:poj2104-区间第k小 整体二分学习

写在前面区间第k小 可以说是一个很经典的数据结构题了,这道题有很多种解法比如莫队离线、主席树、整体二分等等。 之前用莫队和主席树写过这道题,今天来学习一个以前不会的算法——整体二分。 因为最近遇到一个类似于整体二分的题目,就是Codeforces里的gym-101741的J题,感觉它的思想和整体二分很像,但又不一样,做完那道题顺便来学习一下整体二分,那就不能不做整体二分的入门题——区间第k...

2018-04-07 16:00:27 694

原创 codeforces gym-101741 Subsequence Sum Queries 分治+离线

题目这里写链接内容题意给出一个最长为200000200000200000数列 给出一堆最多为200000200000200000个询问区间,问从这些区间中取出一些数使得数字之和是m的倍数,有多少种方案。其中保证1≤m≤201≤m≤201≤m≤20。题解最容易想到的方法就是倍增+dp来做。 定义f[i][j][k]f[i][j][k]f[i][j][k]表示区间[l,...

2018-04-07 11:10:07 503

原创 codeforces gym-101741 Cover the Paths LCA、离线询问

题目题目链接题意给出一棵树。 给出一堆路径,找出最少一个最少的点的集合,使得所有的路径都经过集合中的至少一个点。题解考虑一个路径的两个端点,从下往上最后一个能被经过的点就是这两点的LCA。 因此我们做整棵树dfs,并在回溯的时候判断当前节点是否为某路径的LCA,如果是的话,那么这个点一定要被取到,不然会至少存在一个路径不被集合的点覆盖。 取到这个点以后,需要把这个...

2018-04-06 19:56:40 284

原创 洛谷-P3203 弹飞绵羊 分块

题目题目链接题意据说这道题要用一道叫做LCT的数据结构,然而我不会。。。一排有n个弹簧装置,从第iii个可一往后跳k[i]k[i]k[i]步。修改:修改某个位置弹簧的弹性。查询:询问从某个位置出发弹多少次就弹飞了。题解分块首先都要先从暴力开始想起: 我们记录从任意一个点出发,下一次能跳到哪里,这样的话我们每次询问,只需要一只沿着这条链往下走即可,显然最坏的时...

2018-04-02 21:36:41 181

原创 洛谷-P2801 教主的魔法 分块

题目题目链接题意修改:将一个区间内所有的数+C。查询:查询一个区间内>C的数字有多少个。题解很经典的分快算法题目。 将数列分块以后,对块内的元素进行排序。当我们要做修改操作的时候:遇到要修改的完整的块的时候,我们给它在addmark数组的相应的位置+C,标记为我对整个区间做了一个修改操作,有点类似于带lazy标记的线段树的操作。当要修改的部分区间不是...

2018-04-02 20:21:40 197

原创 洛谷-P1903 数颜色 分块 bitset

题目题目链接题意给你一个数列代表不同的颜色(可以修改)。 询问一段区间内有多少种颜色。题解很容易想到的就是线段树来维护bitset。这里为了练习,使用分块维护bitset。* 事实上线段树可以看成是无限分块。*修改的时候直接暴力将被修改位置所在的块重新计算,形成新的bitset。查询的时候,直接按块合并bitset即可。注意细节:由于bitset不...

2018-04-02 20:07:45 355

原创 洛谷-P3396 哈希冲突 分块

题目题目链接题意给你个数列,编号为1…n1…n1…n。 给出两种操作:查询操作:查询所有编号模xxx得yyy的对应数字之和。修改操作:把编号为xxx的数字,修改为yyy。题解我们先从最为暴力的思路出发:对于查询xxx、yyy来说,我们要统计的就是编号为y,x+y,…,kx+yy,x+y,…,kx+yy,x+y,…,kx+y的数字之和。我们可以把要...

2018-04-02 19:55:15 289

原创 codeforces gym-101755 I-Guess the Tree 交互题、分治、树的直径

题目题目链接题意n=2h−1,且1≤n≤1023n=2h−1,且1≤n≤1023n = 2^h-1,且1≤n≤1023 你可以最多询问2.5∗logn+12∗n2.5∗log2n+1∗n2.5*log_2^{n+1}*n次,任意两点的距离,让你还原一颗完全二叉树。题解第一步、肯定要求整棵树的根节点。由于这是一颗完全二叉树,我们可以求出树的一个直径以及直径上的两个点f...

2018-04-02 11:35:21 476

原创 codeforces gym-101755 D-Transfer Window 二分图匹配、递归

题目题目链接题意告诉了n名球员的交换关系,你现在拥有k名球员,你想要其他k名球员(有的在自己队里)。输出一种交换方案。题解第一步、求闭包。我们需要在原来的交换矩阵上跑可达闭包,即G[i][j]G[i][j]G[i][j]的含义是jjj是否能通过iii的一些交换得到,例如用iii交换aaa,再用aaa交换bbb,再用bbb来交换jjj。预处理闭包的时间复杂度...

2018-04-02 11:17:58 662

基于 RBAC与监听器机制设计作业管理软件

基于 RBAC与监听器机制设计作业管理软件

2017-10-19

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除