![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hdu
文章平均质量分 54
zz_ylolita
这个作者很懒,什么都没留下…
展开
-
hdu某道题
题目大意:给出一棵树,求以i为根节点的子树中有多少个节点标号比i小 得到dfs序之后,用树状数组求第i个数之前比第i个数小的数的个数 ans[i]=ed[i]-st[i];#include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> using namespace std; #define MAXN 100原创 2015-08-09 23:17:55 · 405 阅读 · 0 评论 -
hdu5423
题目大意:给出一张n个点n条边的无向图,判断这张图中是否存在哈密顿回路。 分析:存在哈密顿回路:这张图要连通,有一条回路经过每个点一次。 dfs的时候每次只能从点x向一个未访问过的点y走,不能再由y回溯到x走x的其它相邻点,保证只经过每个点一次。 所以dfs是在循环外调用的。 为了优化,每次取x相邻的未访问过的度数最小的点扩展。 #include #include #include原创 2015-08-29 21:56:25 · 484 阅读 · 0 评论 -
Manacher算法
http://blog.csdn.net/ggggiqnypgjg/article/details/6645824/ 原文说的很清楚,Manacher算法就是O(n)来求一个字符串S的最长回文串的。 hdu3068 #include #include #include #include #include //max min函数包含在这个里面。。? using namespace原创 2016-01-01 23:57:18 · 435 阅读 · 0 评论 -
hdu1028;hdu1398——母函数入门
Tanky Woo hdu1028 分解整数 G(x)=(1+x+x^2+…)*(1+x^2+x^4+...)*(1+x^3+x^6+...)*...*(1+x^n) 所以第i个括号的增量是i,从0开始,保证方案数没有重复,从小到大排列 答案为h(N) #include #include #include #include using namespace std; int n;原创 2016-07-16 18:21:00 · 580 阅读 · 1 评论 -
hdu5806 two-pointers
头尾两个指针扫就可以了,注意ans非常大,要用long long ,输入输出要配套 #include #include #include #include using namespace std; int T,n,m,k,x,s,i,j; long long ans; int a[200010]; int main() { scanf("%d", &T); while (原创 2016-08-10 19:47:26 · 648 阅读 · 0 评论 -
hdu4418 Time Travel 概率DP+高斯消元
可以先用BFS判断每个点是否可以到达,在BFS中使用队列和vis[],但是vis[]只用标记一次,并且即使点出队,标记也不要清除,因为如果一个点的vis = 1,那么它要么在队列里,当前不用入队,要么已经出队了,那么这个时候它能影响到的点已经被更新了,不用再入队一次。(和DFS同理) 设E[i]表示从i走到终点y的期望,那么E[y] = 0 来回折返的处理:为了将走动变成只有一个方向,将数轴翻...原创 2018-08-10 11:21:57 · 399 阅读 · 2 评论