- 博客(48)
- 收藏
- 关注
转载 【GDKOI 2016】地图 map 类插头DP
Description 对于一个n*m的地图,每个格子有五种可能:平地,障碍物,出口,入口和神器。一个有效的地图必须满足下列条件: 1.入口,出口和神器都有且仅出现一次,并且不在同一个格子内。 2.入口,出口和神器两两都是连通的。 连通性判断为四连通。 现在给出一个n*m的地图,其中一些格子的状态已经确定,另一些格子的状态未确定。 问当所有的格子状态确...
2017-04-23 19:41:00
206
转载 【Codechef FRBSUM】【FJOI2016】【BZOJ4299】【BZOJ 4408】 可持久化线段树
4408: [Fjoi 2016]神秘数Time Limit:10 SecMemory Limit:128 MBSubmit:475Solved:287[Submit][Status][Discuss]Description一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数。例如S={1,1,1,4,13},1 = 12 = 1+1...
2017-04-19 11:13:00
121
转载 【NOI2005】聪聪和可可 概率与期望 记忆化搜索
1415: [Noi2005]聪聪和可可Time Limit: 10 SecMemory Limit: 162 MBSubmit: 1635Solved: 958[Submit][Status][Discuss]DescriptionInput数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数。第2行包含两个整数C...
2017-04-17 20:51:00
116
转载 【bzoj 1076】【SCOI2008】奖励关
1076: [SCOI2008]奖励关Time Limit:10 SecMemory Limit:128 MBSubmit:1602Solved:891[Submit][Status][Discuss]Description 你正在玩你最喜欢的电子游戏,并且刚刚进入一个奖励关。在这个奖励关里,系统将依次随机抛出k次宝物,每次你都可以选择吃或者不吃(必...
2017-04-17 18:46:00
99
转载 BZOJ 1009 HNOI 2008 GT考试 递推+矩乘
1009: [HNOI2008]GT考试Time Limit: 1 SecMemory Limit: 162 MBSubmit: 3679Solved: 2254[Submit][Status][Discuss]Description 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利...
2017-04-12 07:35:00
118
转载 BZOJ 3809 Gty的二逼妹子序列
Description:有一个长度为n的序列, 有一些询问l r a b,表示区间[l,r]中数权值在[a,b]中的数的种类数。Solution:nsqrt(n)logn的很容易想到,但是会超。考虑莫队时如何快速计算答案?把权值分块,块内统计答案,每次询问只需sqrt(n)。故总的时间复杂度为nsqrt(n)+msqrt(n)Code: 1 #incl...
2017-04-10 22:04:00
138
转载 BZOJ 2821作诗(Poetize) 分块
Description有一个长度为n的序列,序列每个元素的范围[1,c],有m个询问x y,表示区间[x,y]中出现正偶数次的数的种类数。Solution大力分块解决问题。把序列分块,f[i][j]表示第i块到第j块的答案,并记录块的前缀数的出现次数。f[i][j]直接暴力算,块的前缀数的出现次数也可以直接算,都是nsqrt(n)。遇到询问x y,中间答案的块可以...
2017-04-10 20:19:00
92
转载 CodeChef Chef and Churu 分块
题意: 有一个长度为n的序列,有n个函数f(l, r) = Σai (l <= i <= r),有两种操作,把某个数修改,查询区间函数和。分析: 这是一道很经典的分块题目,具体算法就是大力分块。 把序列分块,块内记录数的前缀和,并记录块间的前缀和,对于一个函数的计算可以O(1)。 把函数分块,块内记录函数的前缀和,以及每个数的修改对该块的贡献次数,...
2017-04-09 22:15:00
78
转载 某题目2 状压DP
Description对于一个数列,其混乱度定义为连续相等的数的段数。如:1 2 1 2 1,其混乱度为5,而:1 2 2 3 3,其混乱度为3。现给出一个数列,允许取出k个数并允许插入数列中的任意一个位置,要求该数列的混乱度尽量小,并求出这个最小混乱度。对于100%的数据:1 <= k <= n <= 100,所有数均在[25,32]内。Solution...
2017-03-28 18:23:00
97
转载 某题目1 二叉搜索树 最长不下降子序列
Description给你一棵二叉树,每个点有点权(整数),你可以改变某些点的点权(只能改成整数),使这棵树满足二叉搜索树的性质,求满足条件最少的修改的点的数目。n <= 1e5Solution一看到二叉搜索树,就要做中序遍历,得到序列a要使修改的点的数量最少,即保留的最多原来的点。如果能把点权改成小数的话,这个就可以直接做最长上升子序列。但现在点权只能...
2017-03-28 16:50:00
84
转载 2-SAT问题的小结
简介 什么是2-SAT呢?就是有一些集合,每个集合中有且仅有两个元素,且不能同时选取两个元素,集合间的元素存在一定的选择关系,求解可行性及可行方案。算法1、连边2、跑tarjan3、判可行性,即同一集合中的两个点是否同属一个强连通块4、缩点建新图,连反边5、拓扑序,若当前点没有被访问过,则选择该点,不选择其另外的点连边2-SAT算法本身并不难,关键是...
2017-03-28 16:29:00
123
转载 BZOJ 2142 礼物 组合数学 CRT 中国剩余定理
2142: 礼物Time Limit: 10 SecMemory Limit: 259 MBSubmit: 1450Solved: 593[Submit][Status][Discuss]Description一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E心目中的重要性不同,在小E心中分量越重的人,收到的...
2017-03-28 16:10:00
185
转载 BZOJ 4521 CQOI 2016 手机号码 数位DP
4521: [Cqoi2016]手机号码Time Limit: 10 SecMemory Limit: 512 MBSubmit: 539Solved: 325[Submit][Status][Discuss]Description人们选择手机号码时都希望号码好记、吉利。比如号码中含有几位相邻的相同数字、不含谐音不吉利的数字等。手机运营商在发行新号码时也会...
2017-03-22 22:16:00
108
转载 BZOJ 4380 Myjnie 区间DP
4380: [POI2015]MyjnieTime Limit:40 SecMemory Limit:256 MBSecSpecial JudgeSubmit:162Solved:82[Submit][Status][Discuss]Description有n家洗车店从左往右排成一排,每家店都有一个正整数价格p[i]。有m个人要来消费,第i个人会驶...
2017-03-22 19:21:00
94
转载 BZOJ 2754 SCOI 2012 喵星球上的点名 后缀数组 树状数组
2754: [SCOI2012]喵星球上的点名Time Limit: 20 SecMemory Limit: 128 MBSubmit: 2068Solved: 907[Submit][Status][Discuss]Descriptiona180285幸运地被选做了地球到喵星球的留学生。他发现喵星人在上课前的点名现象非常有趣。 假设课堂上有N个喵星人,每...
2017-03-22 12:51:00
120
转载 BZOJ 3653 谈笑风生 dfs序 可持久化线段树
3653: 谈笑风生Time Limit:20 SecMemory Limit:512 MBSubmit:628Solved:245[Submit][Status][Discuss]Description设T 为一棵有根树,我们做如下的定义:• 设a和b为T 中的两个不同节点。如果a是b的祖先,那么称“a比b不知道高明到哪里去了”。• 设a 和 b 为...
2017-03-21 16:06:00
126
转载 BZOJ 4726 POI 2017 Sabota? 树形DP
4726: [POI2017]Sabota?Time Limit:20 SecMemory Limit:128 MBSecSpecial JudgeSubmit:128Solved:49[Submit][Status][Discuss]Description某个公司有n个人, 上下级关系构成了一个有根树。其中有个人是叛徒(这个人不知道是谁)。对于一...
2017-03-21 15:00:00
119
转载 BZOJ 4197 NOI 2015 寿司晚宴 状压DP
4197: [Noi2015]寿司晚宴Time Limit:10 SecMemory Limit:512 MBSubmit:694Solved:440[Submit][Status][Discuss]Description为了庆祝 NOI 的成功开幕,主办方为大家准备了一场寿司晚宴。小 G 和小 W 作为参加 NOI 的选手,也被邀请参加了寿司晚宴。...
2017-03-21 11:20:00
116
转载 BZOJ 2749 HAOI 2012 外星人 数论 欧拉函数
题意:给出一个数,给出的形式是其分解质因数后,对应的质因数pi及其次数qi,问对这个数不停求phi,直至这个数变成1,需要多少次。(多组数据)范围:pi <= 1e5,qi <= 1e9分析: 当x > 2时,phi[x]均为偶数。而每次求phi之后,2的次数只会减一,然后其他的质因数分解出多个2,因此数x分解得到的2的个数就是答案了。 如果一开...
2017-03-21 09:00:00
145
转载 BZOJ 2750 HAOI 2012 Road 高速公路 最短路
题意:给出一个有向图,求每条边有多少次作为最短路上的边(任意的起始点)。范围:n <= 1500, m <= 5005分析:一个比较容易想到的思路:以每个点作为起点,做一次SPFA,记f[i]表示从点S到达点i的最短路数,g[i]表示从点i到达点T的最短路数。那么对于任意一条边,答案就是∑f[u]*g[v]剩下的问题就是f、g怎么求。f必须从前面的...
2017-03-21 08:50:00
163
转载 BZOJ 1040 ZJOI 2008 骑士 树形DP
题意:有一些战士,他们有战斗力和讨厌的人,选择一些战士,使他们互不讨厌,且战斗力最大,范围1e6分析:把战士看作点,讨厌的关系看作一条边,连出来的是一个基环树森林。对于一棵基环树,我们找出环,选择环上一条边(u,v)。那么只需考虑两种情况:1、u不选,v任意;2、v不选,u任意。答案取max累计即可程序: 1 #include <cstdio&g...
2017-03-20 10:46:00
110
转载 HDU 5575 Discover Water Tank 并查集 树形DP
题意:有一个水槽,边界的两块板是无穷高的,中间有n-1块隔板(有高度),现有一些条件(i,y,k),表示从左到右数的第i列中,在高度为(y+0.5)的地方是否有水(有水:k = 1),问最多能同时满足多少个条件。范围:1e5分析:考虑按隔板的高度从小到大合并隔板相邻的两列,合并的时候新开一个节点,这个可以用并查集来做。这样合并过来就会得到一棵树,接下来就考虑如何把询问塞进...
2017-03-20 09:32:00
109
转载 BZOJ 3571 画框 KM算法 最小乘积最大权匹配
题意 有n个画框和n幅画。若第i幅画和第j个画框配对,则有平凡度Aij和违和度Bij,一种配对方案的总体不和谐度为∑Aij*∑Bij。求通过搭配能得到的最小不和谐度是多少。 n <= 70. 分析 这题是最小乘积最大权匹配裸题,其做法类似最小乘积生成树。 每个方案可以表示为二维平面上的点,答案必然在下凸壳上。 具体要怎么找呢?其实是...
2017-03-04 10:38:00
186
转载 ZOJ 3256 Tour in the Castle 插头DP 矩阵乘法
题解 这题是一道非常好的插头题,与一般的按格转移的题目不同,由于m很大,要矩阵乘法,这题需要你做一个按列转移的插头DP。 按列转移多少与按格转移不同,但大体上还是基于连通性进行转移。每一列只有右插头是对下一列的转移有影响的,那么我们只需要记录每一列的右插头的连通情况,用最小表示法表示为当前列的状态。在转移的时候,我们只知道上一列的右插头,即本列的左插头的情况,而上插头还需...
2017-02-25 11:32:00
90
转载 UVA 10531 Maze Statistics 迷宫统计 迷宫插头DP 四联通 概率
题意: 有一个N*M的图,每个格子有独立概率p变成障碍物。你要从迷宫左上角走到迷宫右下角。求每个格子成为一个有解迷宫中的障碍物的概率。N <= 5,M <= 6 分析: 这真是一道好题,网上几乎没有任何关于四连通的插头DP的任何资料,这道题目很好地反映了这类问题。 四连通中,只要你存在了右插头,必然存在下插头,当然,你的插头不一定需要真...
2017-02-25 07:25:00
242
转载 ZOJ 3213 Beautiful Meadow 简单路径 插头DP
简单路径的题目,其实就是在状态后面多记了有多少个独立插头。 分类讨论独立插头: 1、只存在上插头或者左插头,可以选择作为独立插头。 2、都不存在上插头和左插头,选择作为独立插头的同时要标号为新的连通块。 换行时需特别注意,因为还有独立插头的判断,如果进行了换行操作,就会乱,特别是在不存在上插头和左插头的情况下。 那要怎么办呢? 我们会发现,换行后,...
2017-02-23 22:10:00
105
转载 Ural 1519 Formula 1 插头DP
这是一道经典的插头DP单回路模板题。 用最小表示法来记录连通性,由于二进制的速度,考虑使用8进制。 1、当同时存在左、上插头的时候,需要判断两插头所在连通块是否相同,若相同,只能在最后一个非障碍点相连;若不相同,则把这两个连通块连起来。 2、如果只存在左或上插头的时候,则要延续连通块。 3、若都不存在左和上插头的时候,就要新建一个连通块。 1 #...
2017-02-23 19:34:00
111
转载 HDU 1693 Eat the Trees 插头DP
这是一道入门题,只需判断插头有无。 具体分为: 1、上插头和左插头都有 2、有上插头或有左插头 3、上插头和左插头都没有 用HASHMAP储存状态,具体有一些小技巧(见程序)。 1 #include <cstdio> 2 #include <cstdlib> 3 #include <c...
2017-02-23 19:26:00
148
转载 某DP题目5
题意 一个游戏里有k种装备,一开始等级为1,每打败一个怪兽,会随机掉落一件一种类型的装备,它的等级为[1,t+1]中的随机一个数,t为当前佩戴的类型的装备的等级,若掉落t+1等级的装备,就会佩戴该装备,否则不换,然后卖掉不要的装备,卖掉等级为i的装备(任意类型)得到金币i。问打n次怪兽之后的期望金币数。 n <= 100000,k <= 100分析 根据...
2017-02-22 14:52:00
120
转载 某DP题目4
题意 有两个栈分别有n和m个数,每次从任意栈中取出一个数,令k为不同输出序列的总数,其中第i种输出序列的产生方式有ai个,求Σai2。 n <= 500 分析 此题是关于ai2转换。咋一看此题好像很复杂,但巧妙转化ai2之后就变得极其简单。 ai2到底是什么呢?如果单纯把它当做一个值来看待,可能做不出来。ai表示第i种输出序列的产生方式,而a...
2017-02-22 10:18:00
112
转载 某DP题目3
题意: 一根数轴上有n只怪物,第i个怪物所在的位置为ai,另有m个特殊点,第i个特殊点所在的位置为bi。你可以对怪物进行移动,若两怪物相邻,那么你不能把他们分开,移动时要看作一个整体。你可以选择向左或向右移动,直到撞到怪物,移动的次数不限制。现在要求最大数量的呆在特殊点上的怪物。 n <= 100000,m <= 2000 分析: 做这题的时候真...
2017-02-22 07:41:00
98
转载 某DP题目2
题意: 有一个栈,有n个数1~n按顺序插进栈中,但弹出顺序不定。另有m个限制,表示为a b,即数a必须在数b弹出之前弹出。问有多少种弹出的方案数。n <= 300,m <= 90000 分析 一开始看这题,怎样都没有头绪,画出模型也没看出什么东西来。 模拟一下进出栈,发现,若数x是最后弹出的,那么1~x-1和x+1~n的弹出过程都是独立...
2017-02-21 19:54:00
90
转载 某DP题目1
题意: 有n个由左右括号组成的字符串,选择其中若干字符串,使得组成的括号序列合法且长度最长。n <= 1000,n个字符串的长度和 <= 10000。 分析: 其实我一开始做这一题的时候,看错了字符串长度和,以为每个字符串的长度都是10000,。 首先我们具体分析每一个字符串,可以发现去掉合法的字符串之后,剩下的只有一堆右括号加上一堆左...
2017-02-20 21:39:00
133
转载 POJ 2186 Popular Cows 强连通分量模板
题意 强连通分量,找独立的块 强连通分量裸题 #include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <algorithm>#include <iostream>...
2017-02-17 22:03:00
166
转载 HDU 2222 Keywords Search AC自动机模板题
题意:给你一些单词和一个句子,问有多少个单词在这个句子上出现过。 AC自动机裸题 #include <cstdio>#include <cstdlib>#include <cstring>#include <string>#include <algorithm>#include <...
2017-02-17 20:46:00
115
转载 POJ 2774 Long Long Message 后缀数组模板题
题意 给定字符串A、B,求其最长公共子串 后缀数组模板题,求出height数组,判断sa[i]与sa[i-1]是否分属字符串A、B,统计答案即可。#include <cstdio>#include <cstdlib>#include <cstring>#include <string>#inc...
2017-02-17 19:25:00
66
转载 codevs 1743 反转卡片
题意 有一个长度为n的序列,序列为n的一个排列。每次找到序列的第一个数k,若k=1则退出,否则区间[1,k]进行翻转,直至k=1或翻转次数大于100000。n<=300000 这题是Splay翻转裸题,但是,我调了一个晚上,毕竟很久没有打过Splay。 问题是出在一开始构建Splay的过程之中,没有建最大最小的点,而我是用数组写的,第0位设为空,在翻转的过...
2017-02-16 22:11:00
108
转载 bzoj 2038 小Z的袜子 莫队算法
题意 给你一个长度序列,有多组询问,每次询问(l,r)任选两个数相同的概率。n <= 50000,数小于等于n。 莫队算法裸题。 莫队算法:将序列分为根号n段,将询问排序,以L所在的块为第一关键字,R为第二关键字排序,以次处理询问O(n^1.5) 由于是按L所在的块为第一关键字、R为第二关键字排序的,所以在每块内L的变化最多为n,总O(n^1.5);...
2017-02-15 22:10:00
113
转载 Codechef SEP14 QRECT cdq分治+线段树
题意 支持删除矩阵、插入矩阵、查询当前矩阵与之前有多少个矩阵相交 算相交的时候容斥一下:相交矩形数 = 总矩形数-X轴投影不相交的矩形数-Y轴投影不相交的矩形数-XY轴投影下都不相交的矩形数 最后一项cdq分治解决 不是我的程序--->http://wyfcyx.is-programmer.com/posts/190325.html转载于...
2017-02-15 21:20:00
70
转载 USACO 2017 FEB Platinum mincross 可持久化线段树
题意 上下有两个位置分别对应的序列A、B,长度为n,两序列为n的一个排列。当Ai == Bj时,上下会连一条边。你可以选择序列A或者序列B进行旋转任意K步,如 3 4 1 5 2 旋转两步为 5 2 3 4 1。求旋转后最小的相交的线段的对数。 很暴力的就做了这一题,当选择A进行旋转时,A序列翻倍,然后建一棵主席树,记录点Bi的度数,为了更新用(其实可以O(1)更新)...
2017-02-15 21:13:00
88
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人