
hdu
Pro_space
从蒟蒻开始成长~
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【字符串】hdu5384
裸的ac自动机居然没有看出来。。。 于是乎手撕了一发, 话说果然还是不喜欢用模板, 这篇挂出来就当是以后自己ac自动机的写法了。 挺好看的。。。#include #include #include #include #include #include using namespace std; char s[200100],w_s[200100],tmp_s[200100]; int q[2原创 2015-08-14 13:36:40 · 551 阅读 · 0 评论 -
【线段树】2015 Multi-University Training Contest 1 1002
题目大意就是问有多少个区间使得区间最大值最小值之差小于K。 只要建立一个队列,然后枚举当前右端点,先向队列中加入右端点。然后再判断当前区间可不可以,如果不合法然后就队首出队。每次加上区间长度就行。最后答案可能爆int... #include #include #include #include #include #include using namespace std; struct rec原创 2015-07-22 09:51:14 · 392 阅读 · 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 · 422 阅读 · 0 评论 -
【图论】2015 Multi-University Training Contest 1 1007
这也是这次多校相对比较简单的一道题。 对于一个无向图,正向spfa一遍,反向spfa一遍,然后求出它的最短路图,我的最短路图把方向也构建了出来,然后第一问只需要求一个最小割就行,第二问的话就把最短路图的边长全部赋为1然后再跑一遍spfa就可以。。#include #include #include #include #include #include using namespace std;原创 2015-07-22 12:27:35 · 274 阅读 · 0 评论 -
【DP】hdu2476
现场做的时候挺模糊的一个dp,借鉴了JustSteps的题解 就是用dp[i][j]表示按照i,j完全不同来处理最少用多少步 然后最后ans再来处理中间有不用刷的情况 代码也是基本按照JustSteps的写法。。。#include #include #include #include #include #include using namespace std; int dp[110][110原创 2015-07-23 20:37:27 · 482 阅读 · 0 评论 -
【贪心】hdu5236
题意 DRD经常使用一个文本处理软件,这个软件每输入一个字符就有一定的概率(p)崩溃,并且丢失上次保存之后的所有数据。执行一次保存需要x字符的代价(但是不会崩溃)问在最优策略下,输入字符的期望是多少 做法 一开始想到了分段应该是相同的,但是忽略的当最后还剩下一段的时候不是直接接上去,而是做成一些是x的段,一些是x+1的段。。。。这样会更优,所以最后算答案的时候姿势那么原创 2015-09-23 12:00:18 · 602 阅读 · 0 评论 -
【DP】hdu4111
题意:有N堆石子,每堆石子有一个数目,现有两个人博弈,每个人每次可以进行两个操作中的一个: 1、从某堆拿掉一个石子(若某堆石子为0了,那么这堆就不存在了);2、合并两堆石子 没有操作的就输。问是哪个赢 难点:1.想到如果多个堆多于1那么胜利的一方一定会想尽办法合并,又因为每堆都多余1所以无法阻止合并 2.如果有一就单独考虑 所以解法就是用f[i][原创 2015-09-24 12:33:34 · 542 阅读 · 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 · 413 阅读 · 0 评论 -
【bitset】hdu5782
循环相等,就相当于前缀循环了一遍然后找相等串 然后就是分为一部分正向,一部分反向,然后bitset优化一下 #include #include #include #include #include #include #include #include using namespace std; const int maxn=10050; bitset dp[2][maxn];原创 2016-08-05 18:07:02 · 585 阅读 · 0 评论