ACM-ICPC
gungnir__
Fade to black.
展开
-
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 阅读 · 0 评论 -
HDU 5245 joyful( 2015 Shanghai Metropolitan J )
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=5245【解题报告】 题目大意:给你一个N*M个格子的矩阵,每次任意挑两个格子(可以相同)染色,一共染色K次,求被染色的格子的个数的期望。 一道普通概率题,解题关键在于如何求一个格子在k次染色后不被染色的期望。现在我们来算第(i,j)个格子不被取中的概率 易知 S1=(i-1)^2*N^原创 2015-11-21 23:31:58 · 437 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 · 771 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
HDU 5441 Travel (2015ACM/iCPC长春网络赛E )
【题目链接】http://acm.hdu.edu.cn/showproblem.php?pid=5441【解题报告】 中规中矩的一道并查集题目。直接遍历这些边进行搜索是不可行的,那么正难则反,我们考虑初始状态下有n个点,他们之间并没有边连接。这时候我们怎么加边能满足题目要求,某两个点之间所有路径权值都不超过忍耐值呢? 显然,如果我们如果挑出一条路径,它的权值小于当前忍耐值,那么我们原创 2015-09-14 12:08:03 · 410 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
HDU 4499 connon(2013吉林通化邀请赛G)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4499【解题报告】 一开始并没有读懂题目,并没有正确理解一开始放置的chess的作用,所以没有读懂样例。题目读懂就很好做了,炮可以隔着任何棋子吃炮,其它棋子可不可以被炮吃,是否存在炮吃掉某个棋子后进而可以吃炮这些情况不考虑在内,也就是说其它棋子仅仅充当一个炮架。棋盘大小限定在(5*5)内,直接暴力搜索解原创 2015-09-05 21:55:30 · 356 阅读 · 0 评论 -
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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
HDU 5489(2015 Asia Regional Hefei Online F )
【题目链接】 http://acm.hdu.edu.cn/showproblem.php?pid=5489【解题报告】 题目大意是,在数组A中,删去连续的L个数之后的最长上升子序列(LIS)。为了解决这道题目,我们先来看LIS的nlogn求法:1.维护一个单调递增序列LIS2.对每个点A[i],找到LIS里大于等于它的第一个位置,尝试把它插入到序列里第x个位置。(二分查找)那么dp[i]表示0原创 2015-12-08 00:21:02 · 332 阅读 · 0 评论