hdu
文章平均质量分 59
YMLFLONG
喜欢算法的蒟蒻
展开
-
hdu 5739 2016多校2
题意:给出一个图,求一个很奇怪的权重。 (1).连通块的权重是这个块里面每个节点的权重乘起来Gi. (2).每个点去掉之后会有一个权重Zi,Zi的值是去掉这个点之后Gi的和。 (3).求Sum(i*Zi)题解:枚举割点,统计。#include #include #include #include #include #include原创 2016-07-25 12:32:01 · 253 阅读 · 0 评论 -
hdu 5821 2016多校8
题意:给出连个1000的数字序列,问是否可以将第一个序列变成第二个序列。操作是将[li,ri]的数字重新排列。题解:贪心题,先处理出来每个数字通过变化到达的位置(发现是一个区间)。然后贪心就可以了。#include#include#include#includeusing namespace std;#define N 1010//#define mp(x,y) make_p原创 2016-08-11 19:44:10 · 333 阅读 · 0 评论 -
hdu 5831 2016多校8
#include #include #include #include #include using namespace std;#define N 100100char str[N];int main(){ int T; scanf(" %d",&T); while(T--){ int n; scanf(" %d",&n)原创 2016-08-11 19:39:52 · 188 阅读 · 0 评论 -
hdu 2665 Kth number
题意:没有修改的区间第k小(题目中的第k大是骗人的)。题解:没有修改的主席树可以做。/* 主席树求区间第k小,没有修改操作 */#include #include #include #include using namespace std;#define MAXN 100100class TreeNode{public: TreeNode *ch[2]; int si原创 2016-08-10 18:39:11 · 214 阅读 · 0 评论 -
hdu 5781 2016多校5
题意:账户中有[0,k]的钱,每次可以取Y的钱,如果所要取得钱Y大于账户中的钱警告一次,警告次数不能超过M次,问把全部钱取出来的期望是次数是多少?题解:dp[K][W] = min(dp[K][W],dp[K-i][W]*(K-i+1)/(K+1)+dp[i-1][W-1]*i/(K+1)+1);dp[i][j]表示中户中的钱[0,i],有j次错误机会的期望。答案就是dp[ K][W]。如果A原创 2016-08-03 12:35:44 · 298 阅读 · 0 评论 -
hdu 5791 2016多校5
题意:求解两个序列的相同子序列个数(位置不同为不同)。题解:dp[i][j] 表示A[i]==B[j],以A[i]这个位置的字符为结尾的序列个数。则,dp[i][j] = sum(dp[a][b]) a#include#include#includeusing namespace std;#define N 1010typedef long long LL;LL s[N][N]原创 2016-08-02 21:22:56 · 180 阅读 · 0 评论 -
hdu 5783 2016多校5
题意:给出一个序列,求出最多可以分割成多少个前缀和非负的序列。题解:贪心,碰到负数就往前合并区间。#include #include #includeusing namespace std;typedef long long LL;typedef pair pii;class Solution{ vector d,dp; vector s; int原创 2016-08-02 17:25:36 · 174 阅读 · 0 评论 -
hdu 5792 2016多校5
题意:给出一列数,求多少个四元组(a!=b!=c!=d,1Ad)题解:统计每一个数左侧有多少个大于它,多少个小于它,右侧有多少个大于它,多少个小于它。然后就是加加减减。#include #include #include #include#includeusing namespace std;class Bit{private: int n; vector d;原创 2016-08-02 17:18:08 · 194 阅读 · 0 评论 -
hdu 5787 2016多校5
题意:求出区间[L,R]任一连续k个数没有重复数字的数的个数。2题解:数位dp,保存前k-1个数字的状态。#include#include#include#include#include#includeusing namespace std;typedef long long LL;LL dp[21][161051];vector str;void toString(L原创 2016-08-02 17:13:56 · 212 阅读 · 0 评论 -
hdu 5798 2016多校6
题意:给出一个序列(10^6个,大小为0题解:abs(a[i]-a[i-1])每个数字单独分析,可以发现一个性质。#include#include#include#includeusing namespace std;typedef long long LL;#define N 100100int a[N];LL samebit[21][21],diffbit[2原创 2016-08-05 20:32:34 · 497 阅读 · 0 评论 -
hdu 5800 2016多校6
题意:给出一个序列(1000长度),定义f(i,j,k,l,m) 为a[i],a[j]必取,a[k],a[l]必不取和为m的子集个数。统计任一i,j,k,l,m的和是多少(i!=j!=k!=l)题解:很容易想的一个dp,转移有一个地方需要考虑一下,就是i和j是有顺序的,不同的顺序要分别统计。#include #include #include using namespace原创 2016-08-05 14:39:31 · 495 阅读 · 0 评论 -
hdu 5795 2016多校6
//============================================================================// Name : 0804A.cpp// Author : lgc// Version :// Copyright : Your copyright notice// Description :原创 2016-08-05 14:30:40 · 239 阅读 · 0 评论