
搜索
文章平均质量分 77
kk303
这个作者很懒,什么都没留下…
展开
-
Codeforces 268 B - Two Sets 搜索...
题意: 裸LCA 题解: tarjan离线解LCA模板...原创 2014-10-16 19:07:11 · 1261 阅读 · 0 评论 -
Uva 10891 Game of Sum - 区间DP..记忆化搜索
题意: 有一列数...A,B分别来取..每次只能从两头中一头开始拿走若干个..问最后A拿走的数比B拿走的大多少... 题解: 首先能想到是区间DP的问题...对于一个区间..感觉上是可以通过其子区间推出最优解的.. dp [ i ] [ j ] 代表A在i,j区间能取得的最大值...原创 2013-07-31 13:48:15 · 742 阅读 · 0 评论 -
Codeforces Round #192 (Div. 2) 题解报告
A - Cakeminator 题意: 怪兽吃cake一次吃一排或一行..但不能吃到草莓..问最多能吃掉多少cake... 思路:一个cake之所以吃不掉,是因为其同行的有草莓..同列的也有草莓..统计所有的cake..减去上述的cake既是答案...Program:#include#include#include#include#include#includ原创 2013-07-24 10:59:33 · 808 阅读 · 0 评论 -
POJ 3134 - Power Calculus 迭代加深搜索(DFSID)
最开始想动态规划...想了后就想不通.然后试着写BFS..各种超时....参考大牛的提示..DFSID把它A掉了...效率很高啊...而且代码写起来思路也很清晰... Program:#include#include#include#include#include#include#include#define ll long long#define oo 10原创 2013-07-21 19:22:16 · 2393 阅读 · 0 评论 -
CSUOJ 1302 - Walking on Chessboard 暴力BFS
http://122.207.68.93/OnlineJudge/problem.php?id=1302暴力BFS即可..保持步数从小到大的更新..开始不敢做..没注意数据的一些范围...Program://http://122.207.68.93/OnlineJudge/problem.php?id=1302#include#include#include#i原创 2013-07-02 09:20:40 · 1103 阅读 · 2 评论 -
HDOJ - 3714 三分搜索
昨天编程之美的C题搞不出来..看了下别人的方法...三分搜索水之...以前没写过... 三分从二分上发展来的...当这个函数不是单峰时,也能找到最值~~好牛逼.... 每次不仅取中点mid=(l+r)/2..还取令一个次中点mmid=(mid+r)/2...如果mid上的值比mmid优...r=mmid...否则 l=mid... 这题和昨天的C题可以说一模一样..原创 2013-04-15 19:15:47 · 852 阅读 · 0 评论 -
CodeForces Round #191 (327D) - Block Tower DFS
首先将所有的.变为B 对于一个联通的B区域....可以从边界开始变R..直到只剩下一个B... 但是直接要找到边界的点..然后逼退到只剩一个B..不方便..不如DFS...从任意一个B进入..回朔的时候将B变为R...保证顺序..Program:#include#include#include#include#include#include#in原创 2013-07-15 12:31:42 · 1036 阅读 · 0 评论 -
AsiaHatyai-2012 & LA 6144 - Radiation 二分搜索
队内赛做的一道题..第一个关键是题意的把握...意思是每个nuclear plant可以在其R范围内发放保护装备..如果一个点被一个nuclear plant覆盖就拿一个装备..如果被两个覆盖拿两个装备..没有被任何的覆盖..领不到装备...拿了两个装备的把多余装备给没有装备的..问最终有多少人依然是没有装备的... 由于两个nuclear plant以及所有的点都是固定的..所以可以先原创 2013-05-04 22:56:54 · 1346 阅读 · 1 评论 -
AsiaHatyai-2012 & LA 6142 - Probability Through experiment 逆转思维+二分搜索
题意是说在圆上有若干点...问这些点能构成多少个锐角三角形.... 很重要的一个突破点...什么时候能够成直角三角形?..当三角形有一条边是该圆直径时此三角形为直角三角形... 所以枚举每个点..用作直径的另一个地方(180度之差的地方)作为分界线..左边一些点...右边一些点...可见..该点与左边任意两点或者右边任意两点构成的三角形必定不是锐角三角形.原创 2013-05-05 10:57:18 · 1080 阅读 · 0 评论 -
第八届湖南省大学生程序设计大赛 - 笑不语@USC 随笔,感想,解题报告
第八届湖南省大学生程序设计大赛原题+最终榜单: http://pan.baidu.com/share/link?shareid=87473&uk=1124339433/ 南华大学终于在省里拿到了一等奖!继续向着省内一流队伍迈进! 其实这一向水题的手感都怪怪的..包括赛前一天的试机..状态一直都不好..直到试机中有道题..晚上想通了..瞬间感觉豁然开朗... 解题原创 2012-10-14 13:03:07 · 4983 阅读 · 17 评论 -
The 37th ACM/ICPC Asia Regional JinHua Site Online Contest - D,F
D - A very hard Aoshu problem 数据范围很小呃... 暴力搜索即可...枚举等号的位置...再DFS得出左边的值..再DFS找右边有多少种方案可以等于左边的加法值...Program:#include#include#include#include#include#include#include#include#define原创 2012-09-22 19:32:18 · 2854 阅读 · 0 评论 -
The 37th ACM/ICPC Asia Regional Tianjin Site Online Contest - G Travel
这道题比赛的时候我做了2个多钟头..最后还是没过..各种都觉得和谐...刚才才发现是因为一个分号..在输入里的一个if语句后加了分号..使得这个判断失效了..囧暴了...去掉分号..果断AC... 首先当然是Floyd了..得到两两间的最短距离...方法一: 也就是我比赛的时候这么写的...用DP来解旅行商问题...15个城市可以用15位二进制数表示.最大32767...用dp[原创 2012-09-10 21:00:18 · 1914 阅读 · 1 评论 -
CodeForces 295C - Greg and Friends BFS找最短路径
由于每个人只有两种重量50kg和100kg...并且人数只有至多50个...用dis[50][50][2]表示状态...dis[x][y][0]表示在原岸有x个50kg..y个100kg...dis[x][y][1]在目标岸有x个50kg..y个100kg... 对于当前的一个状态...枚举多少个50kg..多少个100kg坐船去对岸(当然要船承受得了)....而对面的的状态可以推出来.原创 2013-07-25 19:14:50 · 1995 阅读 · 0 评论 -
Ural 1912 - Passing through Walls 阅读理解+BFS+高效Hash
题意: 1和2这两个人在一个矩形的地图中。他们行走的过程中必须时刻保持联系,保持联系的意思是两个人与至少一个'+'相邻。图中有"."代表脆弱的墙,两个人可以穿过这类强,而'-','|'表示坚固的墙,两人无法穿过。问两人都走出矩形一共最少需要穿过多少个脆弱的墙。 注意!!!题目要咱求的不是最小步数~而是穿过的墙个数!!...也就是说..当一个人走出去一个..就不需要再穿过任何墙了..但根据原创 2013-07-28 23:08:42 · 925 阅读 · 0 评论 -
POJ 2286 - The Rotation Game IDA(迭代加深搜索,DFSID)
IDA是在迭代加深搜索中应用的...作用是用一个估价函数减少不必要的搜索...如本题...8-(中间最多的数的个数)+当前深度>卡的深度..就剪掉...因为一次移动最多使中间的某个数的个数增加一个...这里的"8-(中间最多的数的个数)"就相当于对当前状态的一个估价函数..实现了高效的剪枝... 再一个..搜索的时候最好"轻装上阵"...之前我偷懒在DFSID(....)带了很多函数..原创 2013-07-27 15:02:15 · 1290 阅读 · 0 评论 -
HDOJ 5004 - KAMI 神之折纸 神搜索...
http://blog.youkuaiyun.com/alpc_neverfarewell/article/details/39273217Program:原创 2014-09-23 20:34:11 · 1079 阅读 · 0 评论 -
ZOJ 3736 & HDU 4801 - Pocket Cube 打表搜索
题意: 给了一个2*2的魔方..每步操作可以将任意一面翻转90度..现在问在N( 题解: 开始自己打了个10行表..好难找错..然后发现..其实只要六个就行了..因为左侧正90转和右侧负90转时一样的.. 论科学打表.原创 2013-12-02 23:09:04 · 1696 阅读 · 0 评论 -
一类数位限制倍数的BFS问题...URAL 1495,POJ 1465,HDU 4474,HDU 1226
这类问题是给定了能出现哪些数字或者不能出现哪些数字...然后问一个数的最少多少倍可以满足条件... 这个是昨天模拟去年杭州现场赛时碰到的...我以为不会有太多位(猜测50)..然后用数位DP来推...结果WA出翔..主要是位数可能会相当长..看后来的其他题目500+都可能的..数位DP绝对跪.... 正解是BFS+Hash...Hash指的是对于原创 2013-10-31 13:44:57 · 1117 阅读 · 0 评论 -
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 · 831 阅读 · 0 评论 -
HDOJ 4751 - Divide Groups 暴力DFS
题意: 有一群人,有的人认识某些人(认识的关系是单向的)...现在需要将这些人分成两个部分,而一个好的部分为以下定义: 1、一个部分的人数多少与好坏无关 2、一个部分中所有的人都是两两认识的 问能否将所有的原创 2013-09-21 20:41:26 · 1610 阅读 · 0 评论 -
HDOJ 4739 - Zhuge Liang's Mines 暴力DFS
题意: 给了N个点(N 题解: 直接暴力DFS就行了..每次确定一个正方形.再深入..更新答案..Program:#include#include#include#include#include#include#include#define ll l原创 2013-09-15 22:54:32 · 1621 阅读 · 0 评论 -
HDOJ 4747 - The Moving Points 三分搜索...
题意: 在xy坐标系下有N个点..每个点沿着一个射线的方向以一定的速度运动..问什么时候最长的两两点距离最短...并且为多长 题解: 这类题目感觉做过..可以推断出答案只存在一个峰值(并且一定..要么时间就不是唯一的了)...对于单峰/单谷函数找最原创 2013-09-11 22:29:08 · 936 阅读 · 0 评论 -
HDOJ 1814 - Peaceful Commission 输出字典序最小的2-sat方案...暴力2-sat
题意 有N个政党..每个政党两个议员..现在要组建一个和平委员会..每个政党派出一个议员..而某些议员之间是有冲突的..他们不能同时出现在和平委员会中..问是否存在方案使得和平委员会顺利组建?如果有请输出字典序最小的一种... 题解 这个字典序最小太恶心了..我开始用强联通分量..然后拓扑..无论怎原创 2013-08-14 10:23:33 · 1268 阅读 · 0 评论 -
HDOJ 4308 - Saving Princess claire_ 水BFS...
题意: 给一个图..起点是'Y'..目标点是'C'...'*'是道路.过路费是cost...P是虫洞..可以不需要代价的瞬移...'#'是墙不能走过...问从起点到终点的最小代价... 题解: 由于只给了r*cProgram:#include#include#include#include#原创 2013-08-10 11:00:30 · 784 阅读 · 0 评论 -
HDOJ 3469 - Treasure Hunting BFS+二分图最大匹配...深入理解二分图最大匹配..
题意: 现在iSea和他朋友一起来到一个迷宫中...每次他们会从一个集合点到达另一个集合点(集合点按顺序A~Z~a~z..最多52个)...在每两个集合点间必须走最短的路径(当然可能有多条)..iSea可以最多在两个集合点间的最短路径上拿一个宝藏..每个宝藏只能被拿一次....问能否完成所有的路径..不行输出-1..否则输出iSea能拿到原创 2013-08-21 15:41:21 · 1008 阅读 · 0 评论 -
CodeForces 29D - Ant on the Tree 暴力LCA
题意: 给一颗树...问能否从根节点出发回到根结点..并且每条边exactly经过两次..并且遍历叶子的顺序为所给的顺序..如果可以输出遍历路径..否则输出-1 题解: 数据范围很小(NProgram:#include#include#include#include#in原创 2013-08-05 13:21:16 · 1195 阅读 · 0 评论 -
CodeForces Round #125 (198C) - Delivering Carcinogen
题意抽象: 有点 p 在初始点 ( px , py ) 起逆时针等速度 p.v 沿着绿色大圆 R 转~~点 Q 在平面上的任意位置 ( 除开灰圆 r 内 ) , 点 Q 可以沿任意方向速度最大为 Q.v 移动...灰圆 r 内部的区域是 Q 不能进入的..问 Q 和 p 最快多久能相遇.... 最基本的思路是二分 , 因为若 Q 与 p 在t时间能够相遇,那么原创 2012-08-30 10:15:30 · 1155 阅读 · 1 评论 -
CodeForces Round #118 - Mushroom Scientists
咩哈哈~~Round #118 水得只剩防爆的E题了.. 这题A得很神奇...俺只是做了个猜测..写了如下无比猥琐丑陋的代码..居然真给AC了... 我就是一位一位的确定..大致上是可行的..随着精确位的深入..答案会越来越优...但我发现这样非常不严谨很容易会出错..那么我就在确定一位时给其更长的尝试范围( 如当前要确定0.1上的数..按常规思维..尝试0.0~0.9..而原创 2012-05-08 19:02:20 · 832 阅读 · 0 评论 -
POJ-2251 3维BFS..
听起来嚎高端的感觉...其实就是大水题..所谓3维..就是在地图上除了能前后左右4个方向拓展..还能上下放下拓展...就是写的时候有点小长..Program:#include#include#include#include#include#includeusing namespace std; struct node{ int x,y,z,step;原创 2012-03-10 21:45:57 · 958 阅读 · 0 评论 -
USACO Section 3.2 Magic Squares - 我承认我是瞎混过去的..
首先题目看清楚.是从1,2,3,4,5,6,7,8到目前状态..然后..我就是很恶心的Hash+暴力BFS了.. 我的Hash很恶心...并且是在WA了几次后修改对的..好邪恶..我觉得好的方法应该是Astar或者更加科学的Hash吧..其实这道题的每个状态是可以明确表示出来的..因为总的状态数也就8!=40320种~感觉好麻烦..我就恶心的Hash了..Program:/原创 2011-12-14 19:43:00 · 870 阅读 · 0 评论 -
USACO Section 3.3 Camelot - 略恶心的BFS
这题的意思是找到最少的时间和使所有Knight和King到达一个格子...但蛋疼的是King不仅可以按平时的规则走...在和Knight相遇后可以和骑士合体一起走...=.=..... 先做好两两点之间通过Knight的步伐能走到的最短时间这里可以打出一个表..4维的..arc[x1][y1][x2][y2] 代表(x1,y1)到(x2,y2)的"Knight"最短距离....再开始枚举每原创 2011-12-20 21:54:16 · 1612 阅读 · 0 评论 -
USACO Section 1.4 ariprog - 需要加点点优化搜索题
题目的意思开始看了好久~~~其实看懂了还好写....先将bisquares数打个表出来...这里为了方便搜索..我是打了两个表...一个是打出1~200000中每个数是不是bisquares,是的话组成这个数的最大p会是多少...另一个表是依次存着在其最大p值不大于M的bisquares..... 搜索的时候先遍历打出的bisquares表枚举队首... 然后再遍历bisqua原创 2011-11-13 22:51:16 · 1119 阅读 · 0 评论 -
USACO Section 1.4 clocks - 好恶心的搜索题
或许是我的处理问题...这题代码给敲了这么多...就是一个裸的BFS+Hash判重...判重就是把矩阵看成一个9位的四进制数... 开始我还想写A*...自以为是的用每个点的值到12的差之和来构造g(x)....结果就是搜不对..后来仔细一想...这题的g函数反正我是一下想不出....直接用BFS给水了..速度不太给力的说...应该能用A*的感觉~~Program:/* ID原创 2011-11-13 03:47:16 · 927 阅读 · 0 评论 -
USACO Section 1.4 packrec - 不是太好写的搜索水题
我也是开始题目看错了..以为是要着4个方块任意放置放出最小的矩阵...后来才发现也就6种情况...题目所给的那6个...输出也有点恶心..先输出最小面积..然后输出每个矩形的长宽..每个矩形输出的话先输出短边再输出长边...所有矩阵的顺序是先输出短边最短的..短边相等的输出长边较短的...依次..不重复输出矩阵... 我的方法是先枚举好4个矩阵(那个以90度或者原样对应着哪一个)...原创 2011-11-11 19:13:35 · 1078 阅读 · 0 评论 -
POJ 3255 - 求两点间的第二短路
注意这里求的不是两点间的第二短长度...就是说如果两点间距离有两条路径都是最短路径~~那最第二短路径长度还是这个最短路径.. 做了POJ2449的两点间K短路后这道题就是它的缩小版...唯一要留意的就是边是无向边....Program:#include#include#define MAXN 200001using namespace std;struct no原创 2011-11-10 14:45:21 · 1990 阅读 · 0 评论 -
POJ 2449 - A*初步+ K短路
原以为A*会很难懂~~~结果狐狸大大一口气就给我讲懂了A*和K短路的求法..... 所谓A*就是启发是搜索..说白了就是给BFS搜索一个顺序使得搜索更加合理减少无谓的搜索..如何来确定搜索的顺序?..也就是用一个值来表示这个值为f[x]..每次搜索取f[x]最小的拓展...那么这个f[x]=h[x]+g[x]其中这个h[x]就是当前搜索时的代价..如求K段路这个就是前一个点的h[...原创 2011-11-09 21:47:32 · 7178 阅读 · 9 评论 -
USACO Section 2.4 Overfencing - 略坑爹的输入..再一个函数递归来DFS要慎用.
题目很简单了..从每个出口做一次搜索~~边遍历边判断更新赋值...最后扫描一次全图..找到值最大了就是答案了... 这个输入阿~~会有多余的空格~~也会有本来是一行都是空的~~结果打了两个空格就换行了~~~坑爹啊~~输入的时候又不能用gets...getline不知道用...就各种判断硬是用scanf完成了输入... 还有开始时用函数递归来DFS...结果超时了~~似乎是跑了原创 2011-12-01 14:45:38 · 1507 阅读 · 0 评论 -
POJ1164 + USACO Section 2.1 The Castle - 简单的DFS...
两个题是一个题~~只不过POJ的更弱些,只要找到房间数以及最大房间的面积就ok了... 首先是构造墙~~我是用个4位的bool数组来记录每个点的墙的情况...读入时就%2.再/2...就可以构造出来~~ 找房间数和最大房间直接DFS就可以了~~边遍历边标记~~每个点标记成所在的区域~~在递归的过程中很好实现~ 而找去掉一面墙以及去掉一面墙最大面积~~就按所要求的优先顺原创 2011-11-17 17:53:16 · 2948 阅读 · 0 评论 -
USACO Section 2.1 Ordered Fractions - 用GCD判合法的简单搜索
这道题的意思是输入一个N..求出用小于等于N的做分母...真分数能有那些..分子分母必须约分完全...并且按从小到大输出... 数据范围不大...直接搜就可以了~~搜的时候判断下GCD,,为1才表示是合法的..并且先都存起来~~最后排个序再输出就好了...Program:/* ID: zzyzzy12 LANG: C++ TASK: frac1*/ #incl原创 2011-11-15 18:49:38 · 772 阅读 · 0 评论 -
USACO Section 1.5 Checker Challenge - 普普通通的皇后问题~~
用三个bool数组分别记录每个纵向有无皇后~~以及左右两个45度的斜方向分别有无皇后~~两个斜的一个是x+y来确定唯一~~一个是x-y来确定唯一~~但x-y会小于0...就x-y+n.. 然后就直接搜罗~~只有f1[],f2[],f3[]都是false也就是对应的都没有皇后时才能放.... 很奇怪的问题是...开始我交上去WA了...但本地测错误的这组数据没有问题..和要求的一原创 2011-11-14 22:48:15 · 607 阅读 · 0 评论