上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 30 下一页

2015年2月9日

hdu4819 二维线段树:点修改区间查询

摘要: 这是一道裸的二维线段树区间查询最大最小值+点修改,学习啦!二维线段树其实就是在一维线段树的每一个节点上增加一个一维线段树具体从x节点传到y节点还要看是区间还是节点,大部分操作都和一维线段树差不多 1 #include 2 #include 3 #include 4 using namespa... 阅读全文

posted @ 2015-02-09 01:04 xiao_xin 阅读(257) 评论(0) 推荐(0) 编辑

hdu4821 字符串hash(有多少(M*L长的,M个不相同)子串))

摘要: 题意这英语。。反正我是读不懂==题意:给定一个串,有多少M*L的子串,其中子串的M个子串不相同=(注:某一位不相同即为不相同)很明显要On的扫,但是似乎前一个与后一个没有关系?是的,前第x个(x MOD len==i MOD len)才有关系,如何判重?从cp那学来的黑科技字符串hash加一个map... 阅读全文

posted @ 2015-02-09 00:37 xiao_xin 阅读(230) 评论(0) 推荐(0) 编辑

2015年2月8日

CodeForces Rockethon 2015 C 第二大期望

摘要: 题意:从n个区间选一个数,求这n个数第二大的期望。这他妈就是题意,只怪自己渣渣花了近一个小时看懂题意。看懂题意就很明白了,就是枚举答案,然后算出选出这个答案的概率,当是开始打的时候还剩下20+分钟,打完发现样例不对,才知道有重复计算,第二天起来加了26和33行的判断轻松过了==还是自己渣,早点看明白... 阅读全文

posted @ 2015-02-08 16:25 xiao_xin 阅读(158) 评论(0) 推荐(0) 编辑

2015年2月7日

hdu4822 求树上到某点比其他两点距离小的点个数

摘要: 首先如果是两个点那应该从中间切成两半,再判断所属所以必然需要使用树上倍增==继而如果是三个点,则需要仔细分情况讨论==参考别人的分类讨论写的,感觉那个type判断在哪条链很巧妙啊~ 1 #pragma comment(linker,"/STACK:16777216") 2 #include 3... 阅读全文

posted @ 2015-02-07 04:50 xiao_xin 阅读(282) 评论(0) 推荐(0) 编辑

hdu2887 最小生成树+利用lca倍增求树上两点间最大线段

摘要: 首先:可以利用加一个虚拟节点连向所有点,边权即为点权,求一遍最小生成树然后在这棵树上预处理一个倍增,在向上倍增的过程中开一个maxdis[x][j]记录从x开始向上2^j步最大线段这样就可以实现log的查询了== 1 #include 2 #include 3 #include 4 usin... 阅读全文

posted @ 2015-02-07 00:16 xiao_xin 阅读(345) 评论(0) 推荐(0) 编辑

2015年2月6日

hdu2586 lca模板(在线路径倍增)

摘要: 这是基于二分搜索的,这个感觉更好写,利用任何整数可以由多个2^x次方数相加得到来进行向上路径倍增。代码和思路一样,相比较RMQ更为简单== 1 #pragma comment(linker,"/STACK:16777216") 2 #include 3 #include 4 #include 5 u... 阅读全文

posted @ 2015-02-06 21:13 xiao_xin 阅读(525) 评论(0) 推荐(0) 编辑

hdu2586 lca模板(在线RMQ)

摘要: 杭电这题在线rmq用C++交会RE,G++才能过,但是手动开个栈C++就能AC了。。在线RMQ用的一种倍增思想,还是很常见的,必然要熟练运用数组具体功能代码里面都有:dis[N] 距离根节点距离id[N] 节点映射到dfs时间序上doit[X] 时间点对应的原节点depth[X] 该时间点深度RMQ... 阅读全文

posted @ 2015-02-06 20:14 xiao_xin 阅读(154) 评论(0) 推荐(0) 编辑

2015年2月3日

hdu3613 扩展KMP

摘要: 一个串切成两个,左边如果是回文串加上左边价值,右边如果是回文串加上右边价值,求切一次得到的最大价值扩展KMP:for (i=1;i 2 #include 3 #include 4 using namespace std; 5 int next[500005]; 6 void EKMP(char *s... 阅读全文

posted @ 2015-02-03 23:11 xiao_xin 阅读(99) 评论(0) 推荐(0) 编辑

hdu2896 输出可以匹配串的id(AC自动机)

摘要: end数组表示id,开一个used数组记录哪些被匹配过 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 int used[505]; 7 struct AC 8 { 9 int next[... 阅读全文

posted @ 2015-02-03 20:12 xiao_xin 阅读(106) 评论(0) 推荐(0) 编辑

hdu2222 输出可以匹配串数目 (附AC自动机模板)

摘要: 裸ac自动机,end数组表示以其结尾的数目 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 struct AC 7 { 8 int next[500020][26],fail[500020],end[500... 阅读全文

posted @ 2015-02-03 20:08 xiao_xin 阅读(120) 评论(0) 推荐(0) 编辑

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 30 下一页

导航