
hdu
Pro_space
从蒟蒻开始成长~
展开
-
【字符串】hdu5384
裸的ac自动机居然没有看出来。。。于是乎手撕了一发,话说果然还是不喜欢用模板,这篇挂出来就当是以后自己ac自动机的写法了。挺好看的。。。#include#include#include#include#include#includeusing namespace std;char s[200100],w_s[200100],tmp_s[200100];int q[2原创 2015-08-14 13:36:40 · 542 阅读 · 0 评论 -
【线段树】2015 Multi-University Training Contest 1 1002
题目大意就是问有多少个区间使得区间最大值最小值之差小于K。只要建立一个队列,然后枚举当前右端点,先向队列中加入右端点。然后再判断当前区间可不可以,如果不合法然后就队首出队。每次加上区间长度就行。最后答案可能爆int...#include#include#include#include#include#includeusing namespace std;struct rec原创 2015-07-22 09:51:14 · 385 阅读 · 0 评论 -
【数论】2015 Multi-University Training Contest 1 1001
假设一个区间【l,r】中有一个数 i对于所有的j题目是队友帮忙翻译的。。。英语渣真是苦恼啊(感谢litter rain)然后我是水过的。。。从左到右扫然后就能求出每个因子的最右位置,从右到左扫然后就能求出每个因子的最左位置。然后乘一下就好了,至于求因子,根号n的暴力就好了。。。#include#include#include#include#include#inc原创 2015-07-22 09:40:56 · 409 阅读 · 0 评论 -
【图论】2015 Multi-University Training Contest 1 1007
这也是这次多校相对比较简单的一道题。对于一个无向图,正向spfa一遍,反向spfa一遍,然后求出它的最短路图,我的最短路图把方向也构建了出来,然后第一问只需要求一个最小割就行,第二问的话就把最短路图的边长全部赋为1然后再跑一遍spfa就可以。。#include#include#include#include#include#includeusing namespace std;原创 2015-07-22 12:27:35 · 264 阅读 · 0 评论 -
【DP】hdu2476
现场做的时候挺模糊的一个dp,借鉴了JustSteps的题解就是用dp[i][j]表示按照i,j完全不同来处理最少用多少步然后最后ans再来处理中间有不用刷的情况代码也是基本按照JustSteps的写法。。。#include#include#include#include#include#includeusing namespace std;int dp[110][110原创 2015-07-23 20:37:27 · 473 阅读 · 0 评论 -
【贪心】hdu5236
题意DRD经常使用一个文本处理软件,这个软件每输入一个字符就有一定的概率(p)崩溃,并且丢失上次保存之后的所有数据。执行一次保存需要x字符的代价(但是不会崩溃)问在最优策略下,输入字符的期望是多少做法一开始想到了分段应该是相同的,但是忽略的当最后还剩下一段的时候不是直接接上去,而是做成一些是x的段,一些是x+1的段。。。。这样会更优,所以最后算答案的时候姿势那么原创 2015-09-23 12:00:18 · 584 阅读 · 0 评论 -
【DP】hdu4111
题意:有N堆石子,每堆石子有一个数目,现有两个人博弈,每个人每次可以进行两个操作中的一个:1、从某堆拿掉一个石子(若某堆石子为0了,那么这堆就不存在了);2、合并两堆石子没有操作的就输。问是哪个赢难点:1.想到如果多个堆多于1那么胜利的一方一定会想尽办法合并,又因为每堆都多余1所以无法阻止合并 2.如果有一就单独考虑所以解法就是用f[i][原创 2015-09-24 12:33:34 · 529 阅读 · 0 评论 -
【DP】hdu3507
提议就是给出一个非负的序列,然后割成几段,每段的代价是那个公式。然后dp式很好推也能一眼看出是斜率优化。(d[i]-d[j]+sum[i]^2-sum[j]^2)/2(sum[i]-sum[j])j被玮神喷基本功不好了,于是打算多写几个斜率优化练一下,然后1,起始项是q[1]=0不是q[1]=1;2.传参的时候一定要对应,不要传值当做标号用3.一定要注意队头出队时候原创 2015-12-02 10:31:35 · 396 阅读 · 0 评论 -
【bitset】hdu5782
循环相等,就相当于前缀循环了一遍然后找相等串然后就是分为一部分正向,一部分反向,然后bitset优化一下#include#include#include#include#include#include#include#includeusing namespace std;const int maxn=10050;bitset dp[2][maxn];原创 2016-08-05 18:07:02 · 570 阅读 · 0 评论