
HDOJ
Apolloliuhx
这个作者很懒,什么都没留下…
展开
-
HDOJ 1160 FatMouse's Speed
#include"stdio.h"#include"stdlib.h"#include"string.h"using namespace std;struct node{ int n,w,s;}mice[1111];int dp[1111];int index[1111],a[1111];int cmp(const void*a,const void*原创 2014-05-12 23:21:40 · 659 阅读 · 0 评论 -
HDOJ 2795 Billboard
#include #include #define max(a,b) ((a) > (b) ? (a) : (b))#define min(a,b) ((a) < (b) ? (a) : (b))using namespace std;const int maxn = 200000+10;int crt[maxn<<2];void build_tree(int o, int l, i原创 2014-08-17 02:16:32 · 456 阅读 · 0 评论 -
HDOJ 5024 Wang Xifeng's Little Plot
#include#include#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;const int OO=(1<<30);typedef long long LL;struct Path{ i原创 2014-09-21 01:10:26 · 488 阅读 · 0 评论 -
HDOJ 5023 A Corrupt Mayor's Performance Art
//线段树(区间更新)//用 c++ 交就是RE,换成 g++ 过了#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include using namespace std;const int maxn = 3000010;//这里要稍微开大点,不然容易REvector原创 2014-09-21 01:07:40 · 490 阅读 · 0 评论 -
HDOJ 1394 Minimum Inversion Number
//线段树求逆序数对#include #include #include using namespace std;typedef long long ll;const int maxn=5005;int bit[maxn];int a[maxn];int n;const int inf=9999999;void add(int i,int x){ while(i<=原创 2014-08-10 12:14:45 · 489 阅读 · 0 评论 -
HDOJ 1043 Longest Common Substring
#include #include #define maxn 350#define max(a,b) ((a)>(b)?(a):(b))using namespace std;int dp[2][maxn];char a[maxn],b[maxn];int main(){ int i,j; // freopen("in.txt","r",stdin); w原创 2014-05-12 23:13:12 · 581 阅读 · 0 评论 -
HDOJ 1159 Common Subsequence
//原本代码是给1403Longest Common Substring的,数组居然开510就够了,题目又没给提示#include #include #define maxn 510#define max(a,b) ((a)>(b)?(a):(b))using namespace std;int dp[2][maxn];char a[maxn],b[maxn]原创 2014-05-12 23:15:22 · 587 阅读 · 0 评论 -
HDOJ 2084 数塔
//简单,经典入门DP#include #include #include #define max(a,b) (a>b?a:b)using namespace std;int dp[105][105];int main(){ // freopen("input.txt","r",stdin); int C,N; int i,j;原创 2014-05-12 23:09:29 · 545 阅读 · 0 评论 -
HDOJ 1421 搬寝室
/******************证明:假设四个从小到大的数:a、b、c、d,只需证明以下表达式成立即可:(a-b)^2+(c-d)^2(a-b)^2+(c-d)^2///要点1:所以排序之后如果要取重量差的平方最小,只能在相邻元素中取,每相邻两个元素取一次///要点2:由于只用到n-2,n-1,n的关系,所以可以用滚动数组解决,开的数组为dp[3][2005]///原创 2014-05-11 12:44:24 · 602 阅读 · 0 评论 -
HDOJ 2275 Kiki & Little Kiki 1
//用树状数组会超时,用set能过,但是要注意用的是 muliset#include #include #include #include #include #include #include using namespace std;int main(){ char ch[6]; int n,x; multiset s; multiset::原创 2014-08-10 12:15:37 · 536 阅读 · 0 评论