随笔分类 -  HDOJ

摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4411 ps:这题会有重边,以后一定要注意,每道题都要判重! 阅读全文
posted @ 2016-11-03 17:06 Esieve 阅读(219) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5934 阅读全文
posted @ 2016-11-01 16:46 Esieve 阅读(359) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4738 坑点: 1 #include<bits/stdc++.h> 2 using namespace std; 3 const int maxn = 1111; 4 const int inf = 0x3f 阅读全文
posted @ 2016-10-19 17:44 Esieve 阅读(364) 评论(0) 推荐(0)
摘要:HDU 3333:http://acm.hdu.edu.cn/showproblem.php?pid=3333 这两个题是类似的,都是离线处理查询,对每次查询的区间的右端点进行排序。这里我们需要离散化处理一下,标记一下前面是否出现过这个值,然后不断更新last数组(该数组保存的是每个数最后一次出现的 阅读全文
posted @ 2016-08-07 16:26 Esieve 阅读(386) 评论(0) 推荐(0)
摘要:原题:http://acm.hdu.edu.cn/showproblem.php?pid=2376 经典问题,求的是树上任意两点和的平均值。 这里我们不能枚举点,这样n^2的复杂度。我们可以枚举每一条边,设这条边的端点分别为A、B,则通过这条边的路径总数为与A点相连的端点数乘以与B点相连的端点数,再 阅读全文
posted @ 2016-07-22 15:15 Esieve 阅读(951) 评论(0) 推荐(0)
摘要:原题:http://acm.hdu.edu.cn/showproblem.php?pid=5686 当我们要求f[n]时,可以考虑为前n-1个1的情况有加了一个1。 此时有两种情况:当不适用第n个1进行合并时,就有f[n-1]个序列;当使用这个1进行合并时,就有f[n-2]个序列。所以f[n] = 阅读全文
posted @ 2016-05-20 19:52 Esieve 阅读(335) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5687 2016百度之星资格赛C题,直接套用字典树,顺便巩固了一下自己对字典树的理解 阅读全文
posted @ 2016-05-16 23:55 Esieve 阅读(338) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=1532 最近在学网络流,学的还不好,先不写理解了,先放模板。。。 我觉得写得不错的博客:http://blog.csdn.net/smartxxyx/article/details/9293665/ 阅读全文
posted @ 2016-04-27 19:56 Esieve 阅读(297) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=5384 用字典树、AC自动机两种做法都可以做 1 #include<stdio.h> 2 #include<string.h> 3 #include<string> 4 #include<iostream> 阅读全文
posted @ 2016-04-25 20:59 Esieve 阅读(215) 评论(0) 推荐(0)
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=2222 AC自动机模板题 我现在对AC自动机的理解还一般,就贴一下我参考学习的两篇博客的链接: http://blog.csdn.net/niushuai666/article/details/700282 阅读全文
posted @ 2016-04-22 13:00 Esieve 阅读(345) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=3911 线段树区间合并的题目,解释一下代码中声明数组的作用: m1是区间内连续1的最长长度,m0是区间内连续0的最长长度,l1是从区间左端开始连续1的长度,r1是从区间右端开始连续1的长度,l0是从区间左端开 阅读全文
posted @ 2016-04-14 17:38 Esieve 阅读(705) 评论(0) 推荐(0)
摘要:原题: http://acm.hdu.edu.cn/showproblem.php?pid=5651 y=n!x1!x2!x3!⋯xk!y=n!x1!x2!x3!⋯xk!y=n!x1!x2!x3!⋯xk!y=n!x1!x2!x3!⋯xk! 阅读全文
posted @ 2016-03-29 09:49 Esieve 阅读(353) 评论(0) 推荐(0)
摘要:题目: http://acm.hdu.edu.cn/showproblem.php?pid=2795 线段树问题,线段树的每个叶子节点保存的是当前行还剩余的长度,每次查询找到满足条件的一行减去该条幅的长度。 有一个点要注意的是关于线段树建立的大小,虽然题目中行数最大是10^9,但是n最大是20000 阅读全文
posted @ 2016-03-21 19:39 Esieve 阅读(222) 评论(0) 推荐(0)
摘要:题目:http://acm.hdu.edu.cn/showproblem.php?pid=4027先说这个题的关键:这道题不同于普通的成段更新,需要对每一个值进行求根操作,而如果每次都对区间的每个点进行求根操作的话,复杂度肯定很高。所以,第一个关键点就是,一个数不断开方后的结果,最后一定会变成1的,... 阅读全文
posted @ 2015-12-20 17:23 Esieve 阅读(364) 评论(0) 推荐(0)
摘要:原题:http://acm.hdu.edu.cn/showproblem.php?pid=5592线段树的变形,先说思路。题目中给出了当前节点之前的逆序对数,则p[i]-p[i-1]就是对于p[i]来说,新增的逆序数,也就是比p[i]大的数,所以这时要考虑倒着处理,用线段树维护哪些数已经使用,哪些还... 阅读全文
posted @ 2015-12-16 14:20 Esieve 阅读(336) 评论(0) 推荐(0)
摘要:更新:这是中文题目的链接:http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=659&pid=1001这道题还可以用优先队列来做,优先队列的特性可以很好的返回两个队列中b最小的值。下面说过了,c[i] += c[i-... 阅读全文
posted @ 2015-12-15 20:39 Esieve 阅读(501) 评论(0) 推荐(1)
摘要:原题:http://acm.hdu.edu.cn/showproblem.php?pid=1232我的第一道并查集题目,刚刚学会,我是照着《啊哈算法》这本书学会的,感觉非常通俗易懂,另外还有一篇同样非常好的博客:http://blog.csdn.net/niushuai666/article/det... 阅读全文
posted @ 2015-11-10 18:03 Esieve 阅读(339) 评论(0) 推荐(0)
摘要:原题:http://acm.hdu.edu.cn/showproblem.php?pid=1556这道题是线段树的区间更新,单点查询问题,我在之前的博文里写出了线段树的具体的实现,以及怎样运用线段树解决RMQ问题,地址如下:http://www.cnblogs.com/zqy123/p/489919... 阅读全文
posted @ 2015-11-09 17:44 Esieve 阅读(438) 评论(0) 推荐(0)
摘要:1 #include 2 #include 3 int hash[4*13]; 4 int main(){ 5 int t; 6 scanf("%d",&t); 7 while(t--){ 8 char ch; 9 int num;10 ... 阅读全文
posted @ 2015-11-08 16:44 Esieve 阅读(196) 评论(0) 推荐(0)