hdu题解
ltwy123
淡定淡定~
展开
-
hdu 3943 数位dp+二分
题意: 求p - q 范围内满足有x个4和y个7的第K个数。思路: 数位dp。然后二分位置。code#include <bits/stdc++.h>using namespace std;typedef long long ll;int T;ll p, q;int query;int x, y;int num[10010];ll dp[100][100][100];ll dfs(i原创 2015-10-24 20:38:50 · 412 阅读 · 0 评论 -
hdu 3944 lucas
需要分情况讨论。 然后求组合数 套上lucas。#include using namespace std;typedef long long ll;ll n, k, p;ll powmod(ll a, ll b){ ll res = 1; a %= p; while(b){ if(b&1) res = res*a%p; b>>=1; a = a*a%p; } return原创 2015-10-24 13:03:20 · 403 阅读 · 0 评论 -
hdu 5381 莫队...
The sum of gcdTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 854 Accepted Submission(s): 363Problem DescriptionYou have an a原创 2015-09-18 19:42:23 · 457 阅读 · 0 评论 -
hdu 4059 小学生容斥
啥都不说。。送上一个四次方求和公式:Sum(n)=n*(n+1)*(2n+1)(3n^2+3n-1)/30 再送上一个三次方求和公式: Sum(n) = (1+2+3+…+n)^2 抄的code#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#define LL long long#define原创 2015-10-22 11:05:15 · 582 阅读 · 0 评论 -
hdu 3967 数位dp
题意:求a-b区间内的满足可以把一个数左右分开从而使分开的两个数的和被k除尽的数的个数。这么道一般的数位dp。。 居然没做出来... 智商不够用啊。。#include using namespace std;typedef long long ll;int num[30];ll dp[30][30][30][2][30];int k; int pos;lon原创 2015-10-05 13:36:59 · 552 阅读 · 0 评论 -
hdu 4427 三维dp
题意: 问k个数可以形成sum=n, LCM = m的数量 (n,m思路: dp[i+1][j+v][lcm(k, v)] += dp[i][j][k].... 然后。。。需要各种优化。。。。 坑。。。#include using namespace std;int n,m,k;const int mod = 1e9+7;int dp[2][1011][1011];vec原创 2015-09-16 19:28:29 · 673 阅读 · 0 评论 -
hdu 3971
杭电2015级新生如何加入ACM集训队? Play With SequenceTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 452 Accepted Submission(s): 228原创 2015-10-03 12:22:43 · 500 阅读 · 0 评论 -
hdu 5489
题意: 求去掉一段连续的长度为L的区间后的最长上升子序列。解法: 首先预处理出f[i], g[i]; f[i] : 以第i个位置为开头的最长上升子序列。g[i]: 以第i个位置为结尾的最长上升子序列。预处理的复杂度是nlogn的 这里的预处理方法是基于贪心的思想。然后一位一位的扫, 当扫到第i位,它的答案标号在(1, i-k-1) 这个区间假设为x, 那么a[x]原创 2015-09-29 11:27:27 · 585 阅读 · 0 评论 -
hdu 5493
QueueTime Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 348 Accepted Submission(s): 194Problem DescriptionN people numbered fr原创 2015-09-29 18:13:51 · 517 阅读 · 0 评论 -
hdu 5418 状态压缩dp/tsp问题
题意:从1出发,走一圈然后回来的最小花费。思路: 裸的TSP#include <iostream>#include <cstring>#include <cstdio>#include <algorithm>#include <vector>#include <queue>#include <stack>#include <cmath>using namespace std;#de原创 2015-08-23 09:56:38 · 472 阅读 · 0 评论 -
hdu 3001 tsp问题/三进制
题意:变形tsp 必须搞成三进制#include <bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a; i<=b; i++)int n,m;const int INF = 0x3f3f3f3f;int g[15][15];int dp[300000][11];int status[20];int get原创 2015-08-23 11:27:04 · 567 阅读 · 0 评论 -
hdu 4010 LCT
题意很裸,调了好久,,最后发现push_up写错了,, splay功底还是不够, 再刷一波splay...#include using namespace std;int n,m;const int MAXN = 310010;const int INF = 0x3f3f3f3f;struct Node *null;struct Node{ Node * fa, *ch[2原创 2015-09-11 14:23:03 · 356 阅读 · 0 评论 -
hdu 4348 主席树
主席树 区间更新。 好题目; 又学会了一种方法。。 这种方法可以不写push_down;还有就是。。 这里一定要提前建树, 不然空间复杂度为 (n+q)*logn 如果建树为n+ q*logn;#include using namespace std;int n,m;const int MAXN = 4000010;typedef long long ll;ll sum[原创 2015-09-10 11:38:39 · 458 阅读 · 0 评论 -
hdu 4323 编辑距离
题意:编辑距离。。思路: 暴力dp#include#includeint dp[15][15],len1,len2;char s[1530][15],t[15];int min(int a,int b,int c){ if(b<a) a=b; if(c<a) a=c; return a;}void my_dp(i原创 2015-09-02 19:55:46 · 443 阅读 · 0 评论 -
HDU 3706 单调队列
Problem Description Give you three integers n, A and B. Then we define Si = Ai mod B and Ti = Min{ Sk | i-A <= k <= i, k >= 1} Your task is to calculate the product of Ti (1 <= i <= n) mod B.Input原创 2015-08-17 11:22:11 · 675 阅读 · 0 评论 -
hdu 2665 区间第K大 主席树入门
题意:。。。 思路: 函数式线段树。也就是主席树。#include <bits/stdc++.h>using namespace std;#define S(x) T[x].sum#define L(x) T[x].lson#define R(x) T[x].rsonconst int maxn = 100010;struct node{ int lson, rson;原创 2015-08-29 16:28:26 · 450 阅读 · 0 评论 -
hdu 4421 2-sat 好题
题意:。。。 思路:对每一位分开考虑,做32次2-sat判定#include <bits/stdc++.h>using namespace std;const int maxn = 1010;int n;int Belong[maxn], Dfn[maxn], Low[maxn], Stack[maxn];bool Instack[maxn];int Index, Top, Scc;原创 2015-08-28 18:32:54 · 414 阅读 · 0 评论 -
hdu 3208 简单容斥原理
好题。学会了一种处理溢出的技巧。。from acdreamer's blogcode: #include #include #include #include #include #include #include #include #include using namespace std;#define rep(i,a,n) for (原创 2015-10-12 00:23:48 · 482 阅读 · 0 评论