摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3974 解题思路:深搜设置时间戳,然后线段树上更新查询即可。 第一次写,还算顺利(尽管wa了两发)。 代码: 题目: Assign the task Problem Description There i 阅读全文
posted @ 2017-08-05 23:48 EricJeffrey 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 题目链接: 解题思路:首先考虑一维的情况,更改某个区间[l, r]时相当于l出加一,r + 1除减一,这样就能保证每次计算的时候两者总是能抵消的。当然也可以在l与r + 1除都加一,而每次求和之后mod 2。 接下来考虑二维,更改区间[x1, y1], [x2, y2]的时候,只需在(x1, y1) 阅读全文
posted @ 2017-08-05 18:06 EricJeffrey 阅读(111) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2481 解题思路:可以先尝试HDU 1541 Stars 。这道题相当于Stars的变形,只不过需要稍微思考。按E从大到小排序,E相同S从小到大对S E数组排序,使用一个一维BIT,初始为0,之后对于每一个[S, E]: ans[i] 阅读全文
posted @ 2017-08-05 00:17 EricJeffrey 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3038 解题思路:首先,由于序列数据可正可负,因此实际不满足情况的只有已知区间样例中所给出的那种情况类似。所以,使用并查集判断区间是否连通,使用前缀和来计算是否满足条件即可。 使用带权并查集,val数组记 阅读全文
posted @ 2017-08-05 00:06 EricJeffrey 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://csacademy.com/contest/archive/task/array-removal/statement/ 题意:给一个元素个数为n的数组,给出一个n的排列,从前到后按照排列的元素从数组中删去一个数,每次删除之前输出数组的最大子数组值。最大子数组值为所有子数组的 阅读全文
posted @ 2017-08-02 11:21 EricJeffrey 阅读(246) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=1330 最近公共祖先模板题 Tarjan离线算法 : 读取所有询问后保存并按照一定方式排列。该算法主要采取深度优先搜索的方式,结合并查集,在搜索同时处理查询,大致过程如下: 搜索到节点u 访问标记u 对于u的所有子节点递归搜索,每搜索并 阅读全文
posted @ 2017-08-01 23:36 EricJeffrey 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://codeforces.com/contest/835/problem/ 思路:dp[i][j]表示子串[i, j]的阶数,则: dp[i][i] = 1; dp[i][i + 1] = (str[i] == str[i + 1])? 2: 0; if(str[i] != st 阅读全文
posted @ 2017-08-01 19:47 EricJeffrey 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3734 《挑战程序设计竞赛》202页。与单纯的用递推式与矩阵快速幂求第N项不同,设染到第i个方块为止,红绿都是偶数的方案数目为a,红绿恰有一个是偶数方案数目为b,红绿都是奇数方案数目为c, 则: a[i+1] = 2 * a[i] + 阅读全文
posted @ 2017-07-21 11:27 EricJeffrey 阅读(355) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6030 思路:可以推导出递推式f[i]=f[i-1]+f[i-3],用矩阵快速幂求解即可。 可以参考挑战程序设计竞赛第二版200页详细解释。 代码: 题目: Happy Necklace Time Lim 阅读全文
posted @ 2017-07-21 11:18 EricJeffrey 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://acm.fzu.edu.cn/problem.php?pid=2265 第七届福建省赛重现赛D题,概率计算不过挺有技巧的,问了acdart兄才恍然大悟(分明看了好长时间。。。) acdart原话: b 从小到大排序, a对应有n!中排列,其中a[i]对于某个b[j]是有(n- 阅读全文
posted @ 2017-07-19 22:59 EricJeffrey 阅读(1172) 评论(0) 推荐(0) 编辑