自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 HDU 1517 A Multiplication Game(博弈入门)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=1517【解题报告】 一开始想复杂了,开了一个四位数组,把n分解为2,3,5,7的幂次积,然后让2最多可以取3次3最多可以取两次然后跑一遍DP. ORZ这是一个错的离谱的算法… 正确解法仍然是从必败点出发,然后递推得到必败点和必胜点的区间。【参考题解】 http://blo

2015-11-16 14:17:22 280

原创 HDU 1849 Rabbit and Grass(博弈入门)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=1849【解题报告】 题目里所有棋子都在同一行,但我们考虑到所有棋子互相不影响,所以可以假设他们都在不同行。 把每个棋子距离最左端的距离设为他的权值。 那么目标状态(必败态)为权值和为0. 所以我们把题目抽象为给你n个数,每次可以任意挑一个数,把它减去任意值,直到所

2015-11-15 18:11:20 394

原创 HDU 1847 Good Luck in CET-4 Everybody!(博弈入门)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=1847【解题报告】 由博弈论的原理我们知道,游戏在必败点P结束。那么如果一个点可以走到必败点P,那么他是一个必胜点N。同理,如果一个点只能走到必胜点N,那么他是一个必败点P。由于这道题目的数据范围只有N<=1000,所以直接暴力递推即可。 关于博弈论更详细的资料可以参见下面一篇文章: http:/

2015-11-14 21:13:22 410

原创 HDU 1848 Fibonacci again and again(博弈_SG函数)

【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=1848【参考资料】 《SG函数资料》–冰刃逆袭丿 http://blog.sina.com.cn/s/blog_83d1d5c70100y9yd.html

2015-11-12 21:51:20 275

原创 2015-2016 ACM-ICPC, NEERC, Moscow Subregional Contest K. King’s Rout(拓扑排序)

【题目链接】http://codeforces.com/gym/100792/problem/K【解题报告】 题目大意是,给你M个拓扑关系,输出合法的一个拓扑序列,并且该序列需要满足: 1尽可能先出来 之后2尽可能先出来 … 以此类推看起来是不是像输出字典序最小的方案?好吧我太笨…不加思索的认为是按照字典序输出。 这不就是一个小根堆优先队列吗? 然而一看样例就GG了。

2015-11-12 20:11:46 623

原创 Light OJ 1289 LCM from 1 to n(LCM结论+内存优化)

【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26999【解题报告】 题意很简单,求LCM(1..N),N的范围为N要解决这道题目首先要知道一个结论:我们设 g(n)=lcm(1,2,3,…,n)如果 n=pk,g(n)=g(n−1)∗p.否则 g(n)=g(n−1).为什么结论成立呢

2015-11-11 21:11:16 450 1

原创 HDU 5072 Coprime(2014 Asia AnShan Regional Contest C)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5072【解题报告】 题目大意为:给出N个互不相同的数字,试求有多少个这样的三元组,满足两两互质或两两不互质。 涉及到三元组,给出一个裸的枚举算法,即三重循环枚举三元组判断是否满足题目要求,这样的复杂度是O(n^3)显然是不可承受的。 于是可以考虑,任意两个数的关系:互

2015-11-10 15:02:10 372

原创 HDU 3724 Encoded Barcodes (2010 Asia Tianjin Regional Contest )

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=3724【解题报告】 trie树基础题。建立静态trie树,然后查找即可。有两个要点。1.如何确定某个前缀覆盖了多少个单词。很简单,我们每插入一个单词的时候,在它走过的路径上所有结点权值加1,即表示当前结点被覆盖过多少次。那么我们查找前缀的时候,前缀的最后一个字母落在哪一个节点上,返回该点权值

2015-11-06 21:53:51 769

原创 UVA Live-3942 Remember the Word(trie树入门题)

【题目链接】 http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=22109【解题报告】 trie树入门题目。我们知道给定字符串和给定的S个单词,求把这个字符串分解成若干个单词的方案数。 不难想到递推求解。 dp[i]表示text[i..LEN]这个字符串可以分解成若干个单词的方案数 d

2015-10-21 20:54:06 299

原创 HDU 3723 Delta Wave(2010 Asia Tianjin Regional Contest )

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=3723【解题报告】 结论题,知道是卡特兰数的话就会很好写。 我们知道最后偏移量为0,所以假如向上偏移一次,就一定会有对应的向下偏移一次。这类似一个入栈出栈操作。 假如有i次入栈,那么对应的i个数的出栈序列为: 2*C( 2i,n )*Cat(i).其中: c

2015-10-03 20:51:17 1066

原创 HDU 3729 I'm Telling the Truth(2010 Asia Tianjin Regional Contest )

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=3729【解题报告】 做这场比赛的时候还不会二分图匹配,全场想构造贪心解法TAT。实际上如果会二分图匹配的话这道题目还是挺裸的。需要注意的是给出的x,y范围非常大,也就是图非常稀疏,用邻接矩阵不可避免会T的。所以我开了一个结构体用来存边集,实测62ms就过了。【参考代码】#include<iostrea

2015-10-03 20:20:22 508

原创 HDU 1281 棋盘游戏(二分图匹配)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=1281【解题报告】 构思很巧妙的一道二分图匹配的题目。将x轴看作X集,y轴看做Y集,那么X-Y的一条边即可看做是一个(放车的)可行点,所以我们对于所有可以放车的点连一条边,然后求一个二分图最大匹配。 那么哪些点是重要点呢?如果我们去掉某个可以放车的点,然后再求一遍最大匹配,得到的匹配数小于最大匹配,

2015-10-03 19:50:14 321

原创 POJ 2446 Chessboard(二分图匹配)

【题目链接】http://poj.org/problem?id=2446【解题报告】 一个card包含的两个点可以看做属于两个集合,即任意一个节点和他四周的节点肯定属于两个集合。 那么可以对棋盘进行黑白染色,一个card就可以看做一个匹配,那么求一个最大匹配即可。注意给出的点(x,y)表示y行x列……好坑啊! 相关题目以及解题报告可以参考这篇题解: http://blog.csdn.net/h

2015-10-03 17:31:13 237

原创 POJ 1469 COURSES(二分图匹配)

【题目链接】http://poj.org/problem?id=1469 【解题报告】 网上关于二分图匹配的资料真的很抽象…… 按照我的理解是,对于X和Y两个点集,求一个最大的匹配,一个匹配是X中的某个点xi在Y集中有且仅有一个匹配点yj,称它们为一个匹配。 那么我们知道,最大匹配一定是2k个点(X,Y中各k个),如果这2k个点形成一条路,那么这条路上有2k-1条边。(增广路) 于是我们可

2015-10-03 15:26:33 389

原创 HDU 5493 Queue(2015 ACM/ICPC Asia Regional Hefei Online )

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5493【解题报告】 比赛的时候并没有意识到这道水题的本质TAT,一度在想是不是要用2-SAT做,真是too young too simple. 这道题目有一个关键点就是,什么样的数据会impossible呢?当且仅当N<i+K//i为一个人在n个人中的位置(预先排序),k为比他高的人数为什么其他情

2015-09-30 23:04:15 548

原创 HDU 5492 Find a path(2015 ACM/ICPC Asia Regional Hefei Online )

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5492【解题报告】 很水的一道dp,赛场上队友a掉了。观察到每个格子的权值不超过30,所以路径总长度的范围为(0~1800),可以考虑枚举做。我们知道在方差公式中有这样一个代换: sum(Ai-M)^2=sum(Ai^2)-N*M^2两边同时乘以N后得到:N*sum(Ai-M)^2=N*s

2015-09-30 21:50:17 103

原创 HDU 3720 Arranging Your Team(2010天津现场赛A)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=3720 【解题报告】 分析出来枚举不会爆掉就可以做了,普遍做法是枚举每个人取或者不取,取够11个人并且满足阵型为1-4-4-2就更新一次总分数,这一步可以用DFS实现。第一遍写的思路很乱,隔天再做还好些,不过仍然写了很久。对于组织稍微复杂些的数据还是不太擅长,需要多加练习,多参考别人的优秀代

2015-09-24 16:49:15 396

原创 HDU 3442 Three Kingdoms

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=3442【解题报告】 题目状态数很多,所以按照题意先敲了一个图出来,对每个点的cost值进行了处理,后面如何取得最短路就不会了。还是太弱,看了题解才有思路。 BFS+优先队列。 显然BFS是路径查找的必要手段,那么优先队列有什么用呢?如果我们从一个点开始寻找路径,那么我

2015-09-19 11:40:55 451

原创 ZOJ 3892 Available Computation Sequence(ZOJ Monthly, September 2015)

【题目链接】http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3892【解题报告】 比赛的时候并没有解决这道题目,因为理解错了题意,误认为每一种不同的方案应当保证计算所得结果不同,所以无法设计正确的dp转移方程。实际上在这道题目里只要加括号的方式不同即可认为是不同的方案,那么这道题目就可以区间dp解决。 dp

2015-09-17 20:56:40 429

原创 BZOJ 1012 最大数maxnumber

【题目链接】http://www.lydsy.com/JudgeOnline/problem.php?id=1012【解题报告】 水题,可以解决的算法很多,不过第一眼看上去会倾向于线段树解决,思路更自然,不过如果用单调栈维护的话显然代码更短更不容易出错,所以就写了一下。 单调栈用来维护什么呢?我们要知道要查找后l个数中的最大值,那么当我们在栈中维护一个单调递减数列时,可以保证在数列中取

2015-09-17 17:44:24 273

原创 HDU 5438 Ponds(2015ACM/ICPC长春网络赛B)

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5438 【解题报告】 比赛的时候队友用并查集过的,对每个堆维护节点数量即可。但是比赛中对于删点操作调试了很久,最后还用了一个set来删边…… 赛后看题解,领悟到可以维护一个队列来进行删点操作,队列中的点的度均小于等于1,每次取出一个点删掉,和它相邻的点如果度变成了1,那么把这个点压

2015-09-15 00:55:04 477

原创 codeforces 577B Modulo Sum

【题目链接】http://codeforces.com/problemset/problem/577/B【解题报告】 卡了很久的一道题,鸽巢原理+DP。 前1~i个数的和,和前1~j个数的和对m取模一定不同才能使1~j没有子序列被m整除;如果相同那么必有i+1~j被m整除。 所以至多m个数会取遍m的剩余类中1~m-1; 所以当n>m时一定存在解。 现

2015-09-14 22:42:04 348

原创 HDU 5441 Travel (2015ACM/iCPC长春网络赛E )

【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5441【解题报告】 中规中矩的一道并查集题目。直接遍历这些边进行搜索是不可行的,那么正难则反,我们考虑初始状态下有n个点,他们之间并没有边连接。这时候我们怎么加边能满足题目要求,某两个点之间所有路径权值都不超过忍耐值呢? 显然,如果我们如果挑出一条路径,它的权值小于当前忍耐值,那么我们

2015-09-14 12:08:03 410

原创 BNU 22494 Kitchen Robot

【题目链接】http://www.bnuoj.com/v3/problem_show.php?pid=22494【解题报告】平面上n个点,求把它们全部收集起来的最小距离。首先看到1<=n<=18可以想到进行状态压缩,使用二进制值来保存收集状态,于是这道题目可以明确使用状态压缩dp来解决。设dp[S][v]表示在点集S中v是最后一个被收集的点,那么它可以由以下状态转移而来:dp[S^(1<<i)][

2015-09-09 18:30:59 334

原创 codeforce 568A Primes or Palindromes?

【题目链接】http://codeforces.com/problemset/problem/568/A【解题报告】 水题,看到时限在3s于是想到可以打一个千万级别的表(一不小心打到上亿的表跑了半天跑不出来TAT),先试着打了一个1e7的表,求出了1e7以内所有的pi[i]和rub[i]。然后题目是求出最大的满足pi[n]#include<bits/stdc++.h>using name

2015-09-07 08:20:01 297

原创 HDU 4597 Play Game(2013吉林通化邀请赛H)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4597【解题报告】 过了好几天才过来补这道题……(羞愧)。 区间DP,设dp[k][l][m][n]为当前局面为a堆k~l没取,b堆m~n没取的最优解,那么下一个状态在以下四个状态中产生: dp[k+1][l][m][n]; dp[k][l-1][m][n];

2015-09-06 11:30:30 344

原创 HDU 4499 connon(2013吉林通化邀请赛G)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4499【解题报告】 一开始并没有读懂题目,并没有正确理解一开始放置的chess的作用,所以没有读懂样例。题目读懂就很好做了,炮可以隔着任何棋子吃炮,其它棋子可不可以被炮吃,是否存在炮吃掉某个棋子后进而可以吃炮这些情况不考虑在内,也就是说其它棋子仅仅充当一个炮架。棋盘大小限定在(5*5)内,直接暴力搜索解

2015-09-05 21:55:30 356

原创 HDU 5001 Walk(2014年鞍山赛区网络赛E题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5001 【解题报告】 概率DP。令DP[i][ map[j][k] ] 表示第i步从第j个城市走到j的第k个子节点的概率。 转移方程: dp[i][ map[j][k] ]+=dp[i-1][j]*1.0/map[j].size(); 显然如果dp[i-1][j]不为0,说明第i-1步可以到达j,

2015-09-04 23:34:27 289

原创 HDU 5113 Black And White(2014ACM/ICPC北京赛区B)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5113看到题目的时候第一反应是没有思路,并不知道如何将k种颜色放到N*M的棋盘里,后来观察到数据范围只有(0<n,m<5),于是反应过来这道题目直接暴力搜索可以解决。不过最后并没有时间动手去敲这道题,而且赛后看过题解后发现思路有些小问题,我想在搜索过程中一次放完一种颜色,这实际上是类似于构造的做法,

2015-09-03 02:29:26 885

原创 HDU 5115 Dire Wolf(2014ACM/ICPC北京赛区现场赛D)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5115 9.2日组队训练的时候并没有想到是DP,第一眼看过去觉得可能是贪心,因为卡在了计算几何上,并且还有B这道搜索可以开,所以并没有充分的时间来思考这道题目。一道中规中矩的区间型DP题目。 设DP[i][j]表示杀死区间i~j之间的狼所需要花费的最小代价。 该状态由上一个状态转移而来,所

2015-09-02 20:31:51 843

原创 HDU 5071 Chat (2014ICPC鞍山赛区现场赛B题)

9.1的组队训练做了2014鞍山现场赛这一套题目。比赛时并没有勇气敲这道大模拟,赛后进行了补题。题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5423【解题报告】 大模拟题目,题目很简单,思路很清晰,但是状态数很多,尤其在赛场上就非常考验选手心理素质还有大代码量的稳定程度,同时读题也是一大难关。 这道题目在完全放松的状态下写,WA了3炮,CE一炮。

2015-09-02 02:32:15 423

原创 codeforces 573B Bear and Blocks

题目来源【解题报告】设 L[i-1]表示经过L[i-1]次操作把前i-1列方块都消除完;如果 L[i-1]那么当第i列左边的方块全部消除掉时,第i列还存在方块,此时将他们整体消除。如果 L[i-1]>=h[i]:那么i列左边的方块全部消除时,第i列已经被消除完所以转移方程如下:    L[i]=min(L[i-1]+1,h[i]);

2015-08-31 19:34:54 509

空空如也

空空如也

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

TA关注的人

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