- 博客(622)
- 资源 (1)
- 收藏
- 关注
原创 CodeForces #213 (Div. 2) A,B,C 解题报告
A.Good Number题意: 给了一个整数K(0题解: 关键是题目看懂..是必须0~k每个都要出现...Program:#include#include#include#include#include#include#include#include#include#define
2013-11-20 21:47:23 1151
原创 FZU 2129 - 子序列个数 维护前缀和,思维题..
题意: 子序列的定义:对于一个序列a=a[1],a[2],......a[n]。则非空序列a'=a[p1],a[p2]......a[pm]为a的一个子序列,其中1 例如4,14,2,3和14,1,2,3都为4,13,14,1,2,3的子序列。 对于给出序列
2013-11-20 17:30:14 1434
原创 FZU 2124 - 吃豆人 记忆化BFS..
题意: 吃豆人是一款非常经典的游戏,游戏中玩家控制吃豆人在地图上吃光所有豆子,并且避免被怪物抓住。 这道题没有怪物,将游戏的画面分成n*m的格子,每格地形可能为空地或者障碍物,吃豆人可以在空地上移动,吃豆人每移动一格需要1s时间,并且只能朝上下左右四个方向移动,特别的是吃豆人还能吐出舌头,舌头每移
2013-11-20 17:07:10 1863 2
原创 HDOJ 4786 - Fibonacci Tree 理解生成树
题意: 给了一个无向图..每个边要么是白的.要么是黑的..问能否构造一个生成树..让白边在生成树的个数为fibonacci数... 题解: 求出需要白边最少的和最多的生成树...如果在这两个数之间有fibonacci数则说明存在....原理是一个生成树构造成另一个生成树.
2013-11-17 10:30:05 2375
原创 POJ 3261 - Milk Patterns 求指定重复次数的最长子串,后缀数组+二分 or 线段树
题意: 给了一列N个数,(1 ≤ N ≤ 20,000),然后给一个正整数K(2 ≤ K ≤ N)...现在问这列数中重复K次的最长子串是多少(可以有重叠部分) 题解: 先用后缀数组求出height...由于有性质: LCP(i,j)=min(LCP(k,k+1),iPr
2013-11-15 14:39:32 1175
原创 POJ 1743 - Musical Theme 后缀数组模板+用后缀数组求不覆盖最长重复子序列
题意: 给了N个数(1 题解: 熟悉模板...Program:#include#include#include#include#include #include#include#include#define eps 1e-4#define oo 100000
2013-11-14 17:59:16 700
原创 Uva 11733 - Airports 最小生成森林..Kruskal
题意: 有N个小镇(N 题解: 上来就无脑的直接分连通图然后Kruskal搞一遍..样例和谐..交上去WA了..仔细一想是因为有些边的代价会超过建设飞机场的代价.. 所以不如不要这条边..就算多加一个飞机场都划得来些..这个判断在输出的时候就可以做掉了..当一条边的长度不小
2013-11-13 21:17:12 2796
原创 ZOJ 3717 - Balloon 简单二分+2-sat..精度恶心..
题意: 在一个三维空间中..可以放气球..每次给两个气球..必须并且仅可放一个气球..现在要求所放气球都没有冲突..请求出最长的半径是多少.. 题解: 一看就是2-sat+二分了..和HDU 3622一回事...WA了好多发..原因是输出的精度..吐..Program:#includ
2013-11-12 12:37:01 1103
原创 CodeForces 360A - Levko and Array Recovery 给出操作求原始数列
题意: 对一个数列有这么两个操作 1、(1,l,r,p)..将区间[l,r]所有数都加上p 2、(2,l,r,m).求出区间[l,r]的最大值为m 现在告诉这么一些操作( 题解:
2013-11-11 20:11:33 1603
原创 CodeForces #209 (Div. 2) A,B,D 解题报告
A.Table题意: 给了一个N*M的矩阵(3题解: 若在边界上有点(题目保证四个角上没点)..则答案是2...否则是4Program:#include#include#include#include#include#include#include#include#include#define ll long long#d
2013-11-04 22:28:23 868
原创 HDU 4473 - Exam 思维..想到了就很简单..
题意: 定义一个函数f(x),意思为x%(a*b)==0的a,b对数...如 f(1)=1*1 f(2)=1*1,1*2,2*1 f(3)=1*1,1*3,3*1 f(4)=1*1,1*2,2*1,2
2013-10-31 22:07:57 1255
原创 一类数位限制倍数的BFS问题...URAL 1495,POJ 1465,HDU 4474,HDU 1226
这类问题是给定了能出现哪些数字或者不能出现哪些数字...然后问一个数的最少多少倍可以满足条件... 这个是昨天模拟去年杭州现场赛时碰到的...我以为不会有太多位(猜测50)..然后用数位DP来推...结果WA出翔..主要是位数可能会相当长..看后来的其他题目500+都可能的..数位DP绝对跪.... 正解是BFS+Hash...Hash指的是对于
2013-10-31 13:44:57 1098
原创 Uva 10765 - Doves and bombs 求割点..找去掉某点一个连通图会变成几个部分..
题意: 给了一个联通无向图...现在问去掉某个点..会让图变成几个联通块?...输出的..按分出的从多到小..若相等..输出标号从小到大.输出M个... 题解: 从求割点的过程演变得出一个点去掉会将图变成几个联通块.. 也就是在做tarjan时...
2013-10-28 15:51:07 1404
原创 POJ 1144 - Network 用tarjan求无向图的割点
题意: 给了一个无向图..问有多少个割点... 题解: 发现tarjan这一块还有一个地方没搞~~补上... 用tarjan找双联通分量...若有条边其起点的dfn不大于终点的low ..那么起点"可能"是割点...之所以说可
2013-10-25 20:26:06 736
原创 POJ 1515 - Street Directions 用tarjan求无向图的桥
题意: 给了一个无向图...问最多能让多少条边变成单向边(方向自定)...使得整个图为强连通图(若有边无法定向为单向..那么输出两个单向边表示这个边只能是双向)..输入任意一种方案... 题解: 很简单了....已知对于一个双联通分两中..所有的无向边定向这一个双联通分量就可以变为强连通分量.
2013-10-24 21:39:56 1084
原创 Uva - 1416 Warfare And Logistics dijkstra维护..题目范围有误..
题意: 给了一个无向图...问两两间最短距离之和为多少..当两点不可达时..那么令其距离为L...现在还能删去一条边..问所能得到的两两之和最大为多少... 题解: 先做N次dijkstra..记录每个点位源点的djikstra中有哪些边...并且得到原始状态下两两间距离之和...
2013-10-23 23:31:56 960
原创 COJ 2498 - Boggle AC自动机+DFS
题意: 给了M哥单词(M 题解: So easy了. 先把这些单词拿来做一个AC自动机...恶心的是空间..我试了好几次才能不ML又不RE..然后就是DFS了..边走边走AC自动机...值得注意的可能有重复的单词..所以要用数组记录一下..Program:#includ
2013-10-21 10:37:39 806
原创 UVALive 4975 - Casting Spells Manacher+科学枚举
题意: 给了一个字符串...现在要找这样一个字串:设W为一个字符串..Wr为其逆串..现在要找的是WWrWWr...如果存在..输出其最长的长度..否则输出0.. 题解: 先用manacher找出每个位置为中点最长的回文串的长度...然后就是枚举了..简单的说WWrWWr一定也是回文的..而WW
2013-10-18 15:11:23 1043
原创 UESTC 1501 - Defense Lines 离散化+线段树优化DP
题意: 给了一列N个数(N 题解: 很容易想到用dp[p][state]..当state =0表示以p结尾的连续串最长上升子串为多少..state=1表示以p结尾有一段被去掉的最长上升子串为多少.. state=0的时候很好维
2013-10-18 14:58:21 799
原创 HDOJ 1827 - Summer Holiday 简单的tarjan求强联通分量+缩点
题意: 听说lcy帮大家预定了新马泰7日游,Wiskey真是高兴的夜不能寐啊,他想着得快点把这消息告诉大家,虽然他手上有所有人的联系方式,但是一个一个联系过去实在太耗时间和电话费了。他知道其他人也有一些别人的联系方式,这样他可以通知其他人,再让其他人帮忙通知一下别人。你能帮Wiskey计算出至少要通知多少人,至少得花多少电话费就能让所有人都被通知到
2013-10-16 19:24:36 1312
原创 CodeForces 356A - Knight Tournament set or 线段树
题意: 现在有N个骑士进行M轮PK...现在告诉这M轮是谁站在台上...其将l~r所存在的骑士都打败..而若一个骑士被打败..就出局了..也就是不存在了...请输出每个骑士是被哪个骑士打败的(最后的胜利者输出0)...保证有解.. 题解: 比赛的时候就是没看懂
2013-10-16 14:58:10 1706
原创 POJ 1141 - Brackets Sequence 区间DP
题意: 括号由( )或者[ ]组成..并且当s为一个合法的括号序列...那么(s)和[s]都是合法的括号序列..现在给出一列括号..请添加最少的括号让这个括号序列合法.并且输出添加过括号后合法的括号序列.. 题解: 容易想到区间DP...dp[l][r]代表将区间[l~r]变成合法的括
2013-10-14 21:12:10 810
原创 CodeForces 354A - Vasya and Robot 简单思维..赋初值一定不能随便了T_T
题意: 有一列东西..现在有个机器人要取走这些东西..机器人 有左手和右手...每个物品有重量W1,W2,W3...Wn-1,Wn..左手只能从还剩下的物品最左侧取...右手只能从剩下的物品最右侧取....若机器人用左手取走物品Wi..那么所需要的能量为Wi*l...若机器人用右手取走物品Wi..那么所需要的能量为Wi*r...并且若机器人上一步用左手
2013-10-14 09:03:00 1480
原创 HDOJ 2476 - String painter 不是所有的区间DP都方便用记忆化搜索..
题意: 给了两个长度相同的串(长度不超过100..且仅含小写字母)..现在需要让第一个串变成第二个串...可以做的操作是将一片连续的区域变成相同的字母..问最少的操作步数.. 题解: 很明显的区间DP..不过..我用dfs记忆化搜索写跪了...
2013-10-09 15:39:38 983
原创 CTU 2011/CTU 2012 部分题解...
题目、数据、标程、解题报告(捷克语): http://contest.felk.cvut.cz/12prg/solved.html http://contest.felk.cvut.cz/11prg/solved.html Collatz Conjecture
2013-10-07 15:38:08 815
原创 POJ 2653 - Pick-up sticks 重拾计算几何..暴力得不忍直视...
题意: 现在按先后顺序放置N(N 题解: 现在的风格简洁很多了..此题两个字..暴力Program:#include#include#include#include#include#include#include#incl
2013-10-06 18:25:30 878
原创 HDOJ 1823 - Luck and Love 二维线段树...注意看清边界..
题意: 前段日子,枫冰叶子给Wiskey做了个征婚启事,聘礼达到500万哦,天哪,可是天文数字了啊,不知多少MM蜂拥而至,顿时万人空巷,连扫地的大妈都来凑热闹来了。―_―|||由于人数太多,Wiskey实在忙不过来,就把统计的事情全交给了枫冰叶子,自己跑回家休息去了。 这可够枫冰叶子忙的了,他要处理
2013-10-06 14:18:56 1203
原创 HDOJ 1156 - Color the ball 水题复习线段树..线段树与树状数组的对比..
题意: N个气球排成一排,从左到右依次编号为1,2,3....N.每次给定2个整数a b(a 题解: 单纯复习线段树..同时做个小对比..上方树状数组..下方线段树: 无论从时间空间以及编码复杂度上..树状数组完爆线
2013-10-06 09:37:06 926
原创 POJ 1195 - Mobile phones 二维树状数组(单点更新..区间查询)
题意: 给了一个N*N的矩阵(N 1 x1 y1 x2 y2 : (0 2 x y d : (0 题解: so easy了~~裸二维线段树..和POJ2155不同
2013-10-05 17:35:45 740
原创 NWERC 2012 练习赛题解
题目: http://pan.baidu.com/s/1eMgpCA - Admiral 题意: 有V(2 题解: 陈题...拆点..起点和终点做边容量为2..费用为0
2013-10-05 16:26:11 2037
原创 POJ 2155 - Matrix 二维树状数组..区间更新..单点查询
题意: 给了一个N*N的矩阵(1 题解: 首先想到要知道该格子是0还是1只要知道它被操作了几次就好..模2是1答案就是1..模2是0答案就是0.. 对于连续二维区域进行维护...用二维的线段树或者树状数组..写起来也挺简单的
2013-10-05 15:37:20 1492
原创 POJ 3067 - Japan 树状数组~细心估计数据范围
题意: 左侧有一列点..从上到下1~N..右侧有一列点..从上到下1~M...现在告诉左右侧哪两点有边..问一共有多少个交点... 题解: 可以发现一个交点出现..仅当这两个线段头尾的头尾的大小相反...比如(1,2)和(2,1)相交..因为i1比2小..后有2比1大
2013-10-05 08:14:03 906
原创 POJ 2352 - Stars 排序后用树状数组处理+离散化
题意: 在x,y坐标系下有N(N 题解: 和POJ2481差不多..甚至要方便很多..因为不是输出每个星星的信息..只是统计..所以没必要对线段记录原始位置了..又题意保证不会出现相同的点..所以不用来维护相同的点..排好序..直接用树状数组搞就是...Program
2013-10-04 19:03:38 1023 2
原创 POJ 2481 - Cows 树状数组离线处理
题意: 给了N个线段(N=l && R-L > r-l... 题解: 这题就是上半年南京邀请赛的热身题... 将所有线段按起点从小到大排序..当起点相同时终点从大到小排序..然后按排好的顺序..按拍好的顺序访问每个线段...先统计
2013-10-04 18:16:04 1735
原创 POJ 3378 - Crazy Thairs 树状数组+dp+离散化+高精度..
题意: 给了一个数列,长度为N(1 题解: 首先想到的是dp...dp[t][x]代表当前最后一个数位x,.长度为x的递增子序列有多少个..更新就是将比他前方小的所有dp[t-1][i]加起来... 再看到每个数是小于10^
2013-10-04 17:33:25 1498
原创 HDOJ 4031 - Attack 区间更新点查询的树状数组+暴力...
题意: 911十周年之际..恐怖份子准备再次发动攻击...现在设立了N个防御塔..每个防御塔抵挡了一次攻击后..要技能能却T时间后才能再次防御..而当一个防御塔处于冷却状态时,收到的攻击就会都接受...而恐怖份子的武器很厉害..每次会攻击一个连续的范围...现在告诉恐怖份子发动攻击的情况...并且中间询问某个防御塔成功受到了多少次攻击.
2013-10-04 15:16:16 1305
原创 CERC2012 D - Non-boring sequences 暴力
题目: http://pan.baidu.com/s/17mrYL 题意: 一个数列是non-boring只有其所有长度>1的子串中至少有一个数字仅出现了一次...长度可能会到2*10^5..现在给出若干的序列..请判断是否为non-boring序列...
2013-10-04 10:22:20 1601
原创 CERC2012 A - kingdoms 状态压缩dp
题目: http://pan.baidu.com/s/1vbbuC 题意: 有N个公司..每个公司对每个公司有欠款(负数)或者借款(正数)...一个公司如果借款大于欠款就可能倒闭..一个公司倒闭后其对于得债务关系就都没了..问若最后只存在一个公司,可能是哪些...
2013-10-03 19:40:24 1152
原创 POJ 3321 - Apple Tree DFS出时间搓,树状数组统计维护..
题意: 有一颗苹果树..初始时所有枝条上面的苹果树为1...现在做操作..C x代表若x有苹果摘掉..若x无苹果加上..然后Q x代表询问以x个根的子树共有多少个苹果.. 题解: 用dfs求出时间搓(类似后续遍历)....标记出每个点位根子树的左右界..然后就是单点更新区间求和了
2013-10-03 16:47:15 1182 6
原创 CERC2012 j - Conservation 有条件的维护拓扑序列
题目: http://pan.baidu.com/s/1pBv0L 题意: 现在有1,2两个舞台...告诉每个节目要在哪个舞台演出...再告诉一些舞台的演出先后关系..问如何安排让换舞台的次数最少... 题解: 根据先后关系可以构造有向图..
2013-10-03 15:38:58 836
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人