- 博客(622)
- 资源 (1)
- 收藏
- 关注
原创 POJ 2749 - Building roads 构图2-sat..注意!POJ爆WA也有可能是数组越界!
题意: 有N个牛棚...相互中间没有路..现在准备在两处建立中转站..每个牛棚向其中一个中转站建立路径...有些牛是相互敌对的..不能连在同一个中转站上..有些牛是相互友好的..是必须要在同一个中转站的...请找出一种建路方案..使得牛棚间的距离最大的最短...注意..牛棚只能通过中转站走..两个中转站间有路径...路径长度为各点的哈夫曼距离..
2013-08-14 17:54:11 985 4
原创 HDOJ 3715 - Go Deeper 二分+2-sat判断
题意: 有这么一个过程: go(int dep, int n, int m) begin output the value of dep.
2013-08-14 15:19:12 853
原创 POJ 3683 - Priest John's Busiest Day 构图2-sat..感觉求方案不太正确..要改进..
题意: 在一个乡村有一个牧师John...有天很多人要举行婚礼..需要John来进行祷告..祷告必须要在婚礼开始时到开始后D时间段..或者到婚礼结束的最后D时间段..现在给出每个婚礼开始和结束的时间..以及每场婚礼需要祷告的时间长度...问所有婚礼是否能顺利进行..如果可以..输出任意一种牧师John祷告的时间方案...
2013-08-14 13:52:12 689
原创 POJ 3905 - Perfect Election 简单2-sat
题意: 对N个人问2个问题. 每个人选择的问题与其快乐否有如下的关系 Accepted answers to the poll questionEncodingI would be happy if at least one from i and j is elected.+i +j
2013-08-14 11:19:41 706
原创 HDOJ 1814 - Peaceful Commission 输出字典序最小的2-sat方案...暴力2-sat
题意 有N个政党..每个政党两个议员..现在要组建一个和平委员会..每个政党派出一个议员..而某些议员之间是有冲突的..他们不能同时出现在和平委员会中..问是否存在方案使得和平委员会顺利组建?如果有请输出字典序最小的一种... 题解 这个字典序最小太恶心了..我开始用强联通分量..然后拓扑..无论怎
2013-08-14 10:23:33 1242
原创 ZOJ 3656 - Bit Magic 拆分成多个2-sat来判断...
题意: 定义一个运算...用a[N]通过一些关系算出b[N[N]...现在给出b[N][N]问是否存在构造它的a[N]... 题解: 被这题坑爆了....首先是爆空间...要拆成31个2-sat分别判断才行..在一个是ZOJ的数据..b[i][i]可能不为0...要
2013-08-13 18:42:00 734
原创 POJ 3648 - Wedding...阅读理解.题意坑爹.2-sat..细节注意
题意: 一对新人的婚礼...邀请了N-1对夫妇参加...现在所有人坐在长桌边..每个人可以做在长桌的某侧...但有限制...一对夫妇不能坐在同一侧..除了新娘..可能有些人之间有奸情...他们不能同时坐在新娘的对侧...请问有没有座次方案?如果有..请输出.. 题解: 最开始做题目看错了!!看
2013-08-13 12:38:13 776
原创 HDOJ 4310 - Hero 简单的状态压缩DP
题意: hero每轮攻击消耗某个敌人1滴血...敌人血为1时就挂...每个敌人有血量(HP)和攻击值(DPS)...每一轮hero所去的血为所有存活敌人的攻击和.问hero杀死这些敌人最少需要掉多少的血.... 题解: 这两天被题虐吐...找水题来缓解下...NP
2013-08-12 20:44:49 819
原创 HDOJ 4366 - Successor 展开树为后序遍历,离线处理线段树..出现问题:读题错误..细节写错..爆栈..
题意: 有一个由上下级关系构成的树...如果开除一个人..那么从他的子树里找一个能力比他强..并且忠诚度最高的(注意..不是比她高)..问若开除谁,,谁来顶替(注意..不是连续的过程..都是单独的...) 题解: 完全2B了...读题各种错误..连ability和
2013-08-12 19:16:27 1189
原创 HDOJ 4578/2013年杭州邀请赛C题 - Transformation 线段树...比较蛋疼的维护PushDown
题意: 很裸....不解释... 题解: 要统计三种heProgram:#include#include#include#include#include#include#include#include#include#define oo 10007#defi
2013-08-11 18:22:03 1698
原创 HDOJ 4585/2013年杭州邀请赛J题 - Shaolin Treap水~
题目: 每个人有个唯一的ID与唯一的武力....人依次进入..每次和他前面与其武力最相近的交手...当有两个和他武力差相同..选择武力比他小的..现在请输出每轮情况 题目: 用treap维护就好了.....找对手时..logn的复杂度找到比大小最大的..比他大最小的..然后再丢进去..
2013-08-10 18:17:53 1077
原创 HDOJ 4584/2013年杭州邀请赛I题 Building bridges 水题
不解释 Program:#include#include#include#include#include#include#include#include#include#define oo 100007#define MAXN 100005using namespace std; char s[50][50];int main(){ int n,m
2013-08-10 17:25:21 826
原创 HDOJ 4576/2013年杭州邀请赛A题 Robot 暴力~
题意: 有一个转盘...1~n..现在在1的位置..每次走一定的步数...可以向左可以向右..问最终落到一个区间的概率... 题解: 直接暴力模拟...汗...注意的是取模很费时间的...换种方式来...Program:#include#include#include#i
2013-08-10 17:21:48 1252
原创 HDOJ 4308 - Saving Princess claire_ 水BFS...
题意: 给一个图..起点是'Y'..目标点是'C'...'*'是道路.过路费是cost...P是虫洞..可以不需要代价的瞬移...'#'是墙不能走过...问从起点到终点的最小代价... 题解: 由于只给了r*cProgram:#include#include#include#include#
2013-08-10 11:00:30 771
原创 HDOJ 4305 - Lightning 判断点在线段上+构造Matrix Tree求生成树的个数+高斯消元
题意: 有N个点在二维平面上...两点间若距离不大于R并且构成的线段中没有其他的点..则可以连一条边..现在问..这个图有多少个生成树 题解: 觉得这题好屌...一些计算几的知识+神奇的矩阵+高斯消元(同时要求逆元)... 先构
2013-08-10 09:46:46 852
原创 CodeForces 163A - Substring and Subsequence 类LCS的DP
题意 有a,b两串...问取a的子串和b的子序列...能够有多少个相同的... 题解 这种题就是很考验基本功和思维能力的....若a串要求也是子序列.题目就变成一个LCS了(求长度改为求方案数..一样的)...而本题要求a串只能是子串...也就是只能连续的取..
2013-08-09 17:18:01 1075
原创 HDOJ 4302 - Holedox Eating 优先队列
题意: Holedox在一个一维的坐标轴上...初始在0点...现在每个时刻..可能会在某些位置放置蛋糕..可能Holedox会进食..Holedox进食满足每次找距离最近的..若两头距离一样.按照原路继续走....问最终Holedox走了多长的路... 题解: 优先队列的典型应用...
2013-08-09 16:30:09 919 1
原创 HDOJ 4006 - The kth great number 优先队列水
题意: 不断的往集合里放数..又有不断的询问集合中第k大的数是什么... 题解: 本来想用treap水一下的...结果WA了...treap应该水得过吧???模板有错~~~汗颜.....那就直接优先队列水把...维护长度为k的一个大根堆就行了...Program:#include#include#
2013-08-09 15:35:48 802
原创 SPOJ 3273 - Order statistic set Treap模板题
题意: 有个集合..起初为空...有Q(1 操作insert: I x: 若集合中没有x...把x放入 操作delete: D x:若集合中有x..删去x 询问K-th:
2013-08-09 13:14:37 1869
原创 HDOJ 4417 - Super Mario 线段树or树状数组离线处理..
题意: 同上 题解: 抓着这题作死的搞~~是因为今天练习赛的一道题.SPOJ KQUERY.直到我用最后一种树状数组通过了HDOJ这题后..交SPOJ的才没超时..看排名...时间能排到11名了..有些叼...看下时间效率..自下而上: 划分树、线段树、树状数组、优化后的树状数组...
2013-08-08 19:41:03 1072
原创 HDOJ 4417 - Super Mario 划分树成熟模板(可解决相同元素)+二分
题意: 给一列数..若干个询问..问(l,r,h)...在[l,r]范围内..有多少个数小于等于h.... 题解: 二分第k小..用划分树 查找第k小是哪个树..就可以把每个提问的答案找出来了... 读入数据后..忘记要L++,R++了..浪费了好多时间..终于把划分
2013-08-08 17:12:28 975 3
原创 CodeForces 314B - Sereja and Periods 很有思维的DP
题意: 对于一个字符串规定这样一种运算..字符串s与整数k..[s,k]=s+s+s+...k个s..如[abc,2]=abcabc...现在给出w=[a,b],q=[c,d]...问最大的p使得[q,p]为[a,b]的子串 题解: 练习赛的时候我是找循环节...思路是可行的..但就是搞不对...参考了大
2013-08-08 14:21:07 1482
原创 POJ 2104 - K-th Number 划分树初步(不能有相同元素)
划分树的模型是用来解决一类求一列数的某个区间第k小数的问题.当然也可以通过二分来球一个数在某区间里是第几小...跟我的感觉划分树和线段树很多地方挺相似的.. 1、划分树的构造 划分树和线段树一样...采用隐性建树...建造的是二叉树...划分树通常使用一个二维数组存储: tree[t][n] ...第一维代表是数的第几层..第二维说明了这层n个数的排列情况
2013-08-07 19:25:21 1193
原创 鸽巢原理 ..POJ 2356 & 3370
原理简单..N+1个物品放入N个盒子中..必定有一个盒子里物品大于一个... 但要知道什么时候用...1、may print any of them ..Special judge...就像这两题..如果要输出数最少的..估计DP了. 2、有类似取模的运算... Program
2013-08-07 15:41:52 787
原创 HDOJ 4632 - Palindrome subsequence/2013多校联合第四场A 区间DP
题意: 输出所给字符串有多少子串为回文串(mod 100007) 题解: dp[l][r]代表一个区间内有多少回文串...显然当l=r时..是1个..然后对于一个区间 dp[l][r]=dp[l][r-1]+dp[l+1][r]-dp[l+1][r-1] ..当s[l]==s[r]时再加一次dp[l
2013-08-07 14:23:11 633
原创 HDOJ 4635 - Strongly connected/2013多校联合第四场D Tarjan求强联通图.缩点.
题意: 给一个有向的简单图(无重复边,无自环)...问该图是否是强连通图..若不是强联通问最多可以加多少条边..使得图依然不是强联通图并且还是简单图... 题解: 首先用tarjan求强联通..判断整个图是否是一个强联通图....如果不是强联通..又要加尽可能多的边保持不强联通..有个方向是选出一块点集
2013-08-07 10:48:44 844
原创 CodeForces 178B1 - Greedy Merchants tarjan求双联通分量+tarjan离线求最近公共祖先
题意: 有一个联通无向图...有K个商人要在K对点间运货...问这K个商人各自经过了多少个桥... 题解: 此题用到了两个tarjan..第一个tarjan是用来求双联通分量缩点的..第二个tarjan是用来离线求一堆点对的最近公用祖先... 既然是要
2013-08-06 15:48:49 1008
原创 HDOJ 4616 - Game/2013多校联合第二场F 树形DP..初始化不能太随意...
题意: 一个游戏的迷宫是一颗树型结构..树上的点代表了房间..每个房间里宝藏..有些房间里有陷阱..现在开始游戏..咱有C条命..若进入了有trap的房间..就会掉一条命..没有命了就Game Over了...可以从这颗树中任意的点开始沿着边走...问能获得的最多宝藏... 题解: 练习赛的时候..用2
2013-08-06 11:03:14 937
原创 HDOJ 4612 - Warm up tarjan求无向图双联通分量+树形DP+stack申请更多空间
题意: 给一个连通无向图..两点间可能有多条边...问加一条边后..桥最少能有多少个... 题解: 之前没写过tarjan求双联通分量的...练习赛的时候思路有点乱.再加上不断的爆栈..就搞不定了...首先求双联通分量并缩点..如果题目能保证没有重边..每个点的low值就代表在哪个双连通分量里....但题目就是要绕一下.
2013-08-06 09:16:26 921
原创 CodeForces 128B - String 优先队列暴力..
题意: 读入一个串..输入其第k大的子串 题解 直接用优先队列暴力..Program:#include#include#include#include#include#include#include#define oo 1000000007#define ll long long #de
2013-08-05 19:40:58 1256
原创 CodeForces 120F - 简单的树形DP
题意: 有N颗树...问合并后能得到的最长路径... 题解: 大水题...练习赛的时候居然没注意到...简单的树形DP...找出每颗树的最长路径...相加就是答案...Program:#include#include#include#include#include#include#include#define oo 1000000
2013-08-05 17:59:30 1062
原创 HDOJ 3622 - Bomb Game 2-sat+二分....细心...
题意: 有N个炸弹..每个炸弹有两个位置可以选择..把炸弹放到其中一个地方去...炸弹的爆炸范围是其为圆心的圆...两个炸弹不能有攻击范围上的重合..问要满足条件..炸弹爆炸范围的半径最长能是多少... 题解: 每个炸弹看成一类..其在两个中比选一个..符合2-sat的构图条件....那么就二分枚举炸弹的爆炸范
2013-08-05 17:29:47 840
原创 Ural 1671 - Anansi's Cobweb 倒过来做...并查集维护..
题意: 给出一个无向图..然后不断的删边..问每次删边后..整个图是由几个联通块组成的.... 题解: 以前做过一个题..是CF上面的...是不断的删边..并询问某两点的最短路..当时的方法是倒过来..把删边过程看作加边过程..用floyd维护..
2013-08-05 13:35:50 898
原创 CodeForces 29D - Ant on the Tree 暴力LCA
题意: 给一颗树...问能否从根节点出发回到根结点..并且每条边exactly经过两次..并且遍历叶子的顺序为所给的顺序..如果可以输出遍历路径..否则输出-1 题解: 数据范围很小(NProgram:#include#include#include#include#in
2013-08-05 13:21:16 1172
原创 CodeForces 204A - Little Elephant and Interval 算答案..易错..暴力打表对拍
题意: 找出[l,r]范围内..第一位数字和最后一位数字相同的数的个数...1 题解: 这个显然要找出一些关系和联系..推出1~(l-1)...与 1~r 的符合条件的个数..后者再减去前者..为了方便处理.先将数字转为字符串..sprintf就好了...举个例子..如要找1~3021内符合条件的个数..3021是长
2013-08-05 13:13:31 1217
原创 HDOJ 4614 - Vases and Flowers/2013多校联合第二场D 区间更新线段树+二分
题意: 有N个花瓶..每个花瓶至多放一朵花..每次的操作是1、从某个序号的花瓶开始..F朵花到空的花瓶..若后面的空花瓶不足F..则把剩下的花丢掉..当后面没有一个空花瓶..输出Can not put any one...2、把[ L,R ]范围内所有的花拿掉...并输出这个区间之前有多少花.. 题解: 用线段
2013-08-05 01:01:43 1146
原创 HDOJ 4611 - Balls Rearrangement/2013多校联合第二场A 分情况处理
2013年多校联合第二场的A题..开始以为有数学方法...整了好久都整不出..这种题还是果断的打表找规律... 题目实际上要求的是sigma | x%A - x%B |...把每个数的值打出来..发现是一片一片的相同..所以可以利用这一点.直接把答案算出来..但要注意的是..有可能A,B较小..直接模拟会超时..那么处理分为两种情况..当lcm ( A,B )小于10^6...那么就
2013-08-04 16:59:21 743
原创 POJ 3678 - Katu Puzzle 比较典型的构图2-sat...求是否有可行解
题意: 有N个Xi...又告诉M个位运算( AND OR XOR )结果..问是否有存在可行解 题解 每个Xi就两种情况..并且必须选择一个..符合2-sat的模型..那剩下就是根据运算时构造边了...这里要进一步理解2-sat中一条有向边的涵义是选了起点就必须选终点..那剩下的就好办了一个一个分析... x,y代表
2013-08-03 19:59:16 1994
原创 CodeForces 27D - Ring Road 2 构图2-sat..并输出选择方案
题意 n个数1~n按顺序围成一个圈...现在在某些两点间加边..边可以加在圈内或者圈外..问是否会发生冲突?如果不发生冲突..输每一条边是放圈内还是圈外. 题解 这道题和POJ 3207差不多了..只是那道题只要判断是否存在不要输出方案...发现个很严重的问题..POJ 3207的数据实在是太弱了..我上一个程序
2013-08-03 18:24:07 1423
原创 POJ 3207 - Ikki's Story IV - Panda's Trick 构图2-sat
题意: 有0~n-1个点按顺序围成一圈..现在在某些两点间加边..这条边要么在圆内..要么在圆外..问能否保证这些线段都不相交 题解: 每个线段有两种状态..里面or外面..又有些线段的某些状态是不能共存的..抽象出2-sat模型..每条线段作为一个组..线段的两种状态作为这个组的两个点..以线段相交的情况来做点之间的有向边.
2013-08-03 18:21:11 658
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人