
水题练习
LXY_XYL
这个作者很懒,什么都没留下…
展开
-
HDU 3415
求区间长度小于 k 的极值差。。。。 单调队列搞定,需要加上前缀和,爆肝有点熬不动了,题解写不动了。。。大概就是单调队列维护递减和前缀和。。。 以下是AC代码 #include<cstdio>#include<iostream>#include<queue>using name...原创 2018-12-21 00:34:26 · 176 阅读 · 0 评论 -
POJ 1703
并查集水题。。。敌对( a, b ) a 和 b+n建结合。。。反之也是。。最后判断 a+n b+n a b 之间关系就好了。#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1e5+5;int pre[maxn*2];in...原创 2019-02-24 18:16:43 · 486 阅读 · 4 评论 -
洛谷 1198
一道比较奇怪的线段树。。。如题操作就好了。。。 #include<bits/stdc++.h>using namespace std;#define lson l,mid,rt<<1#define rson mid+1,r,rt<<1|1const int maxn = 200001;...原创 2019-01-16 20:19:51 · 198 阅读 · 0 评论 -
洛谷 1313
高中数学没学好。。排列组合的递推公式竟然不会。。。自己还没推出来。。第一次暴力求 cij WA了。。。可以知道递推公式如下 Cnm=Cn−1m+Cn−1m−1根据二项式定理轻松求出,但是需要快速幂优化的,。 以下AC 代码 #include<bits/stdc++.h>using namespace std;const...原创 2019-01-16 19:13:16 · 188 阅读 · 0 评论 -
洛谷 P 2053
费用流水题把工人和车之间建边,费用设为时间,流量设为1,求出最小费用再除以 n 就好了,建边比较恶心,这里写了半天 以下为 A C 代码 #include<bits/stdc++.h>using namespace std;const int maxn = 1e5+5;const int INF = 0x3f3f3f...原创 2019-01-16 13:38:28 · 174 阅读 · 0 评论 -
HDU 3743
简单的求数组逆序数。。。。还不需要离散。。。 树状数组解决,直接上 AC 代码 #include <bits/stdc++.h>using namespace std;#define ll long long intconst int maxn = 1e6+5;const int lowbit(int x){retur...原创 2019-01-15 16:14:19 · 117 阅读 · 1 评论 -
LightOJ 1259
水题。。找素数。。写个素数筛就能过 以下AC 代码 #include<bits/stdc++.h>using namespace std;const int maxn = 1e7+5;const int maxm = 1e6+5;bool is_prime[maxn];int prime[maxm],tot;...原创 2019-01-17 20:20:42 · 229 阅读 · 0 评论 -
POJ 2387
最短路板子题。。这把用个SPFA。。#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;const int maxn = 5000;const int INF = 0x3f3f3f3f;struct node{...原创 2019-01-02 13:05:51 · 314 阅读 · 0 评论 -
HDU 4004
简单的二分有 n 个石头,求最短长度的话,二分一下最短长度判断完成。。。 以下是 AC 代码 #include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;#define ...原创 2019-01-01 17:44:00 · 163 阅读 · 0 评论 -
hdu 3006
状态压缩题目。给 N 个 集合 问长度不超过 M 的集合数目有多少那就很好办了, n 个集合开一个vis 数组,出现过就记录,重叠部分也记录,最后统计一下就好了。 以下是 AC 代码 #include<iostream>#include<cstdio>#include<cstring>us...原创 2019-01-01 11:30:14 · 129 阅读 · 0 评论 -
hdu 2955
背包水题。。。。 #include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 1e4+5;double dp[maxn];int val[maxn];double pos[maxn]...原创 2019-01-01 09:16:33 · 216 阅读 · 0 评论 -
POJ 3468
线段树区间修改水题不多讲了。。。 #include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;const int maxn = 100005;const int INF = 0x3f3f3f3f3f;...原创 2018-12-19 00:04:23 · 322 阅读 · 0 评论 -
HDU 4027
这道题有点意思。题意如下一个数组,两种操作一个是 对区间 l r 开方另一个 就是 求 l r 之间和 看似是区间修改,但是发现了一个问题,一个数如果被开方太多次最后就会到1,粗略算下 一个数 不断平方的话大概 从 2 开始 不断平方 感觉能在10次之内 爆掉 long long 所以区间修改的话并不需要严格意义上的 lazy 标记我们只需要标记一下是否是 1 ...原创 2018-12-28 17:46:56 · 286 阅读 · 0 评论 -
HDU 5172
题意 给定 n 个数字求区间 L R 之内数字 是否满足 1---( R-L+1 )全排列那么全排列很容易 就是 1---R-L+1 内数字全出现过一次最朴素(暴力)方法就是 一个一个去检验,首先,数字不能重复,其次还得是连续数字那么既然是连续数字,那么 就是一个 1--An 等差数列 公差为 1,所以首先这段区间和 得为 n*(n+1)/2那么怎么不那么暴力的去确定之间数...原创 2018-12-26 22:21:14 · 268 阅读 · 0 评论 -
HDU 3336 DP解法
之前搞过这个,这次可能由于VJ 上没记录之前在hdu 交的 又见到了。。。搞了个dp。。kmp + dp 解决。#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn=1e5+5;const int mod=10007;int...原创 2019-02-24 20:01:57 · 145 阅读 · 0 评论