HDU
文章平均质量分 70
紫杉丶
这个作者很懒,什么都没留下…
展开
-
HDU 1172 猜数字 (傻逼暴力题)
第一次做这么傻逼的暴力题,心塞塞。。#include#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int INF = 0x3f3f3f3f;const int M = 1010;struct node{ int num, v原创 2015-10-25 23:50:32 · 474 阅读 · 0 评论 -
HDU 5379 Mahjong tree (DFS)
#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include using namespace std;typedef long long LL;const long long mod = 1e9+7;const int inf = 0x3f3f3f原创 2015-08-12 13:39:41 · 276 阅读 · 0 评论 -
HDU 5294 Tricks Device (最短路+网络流)
题目要求: 至少删除多少条能破坏最短路 最多删除多少条边仍然存在最短路代码来源于:http://blog.csdn.net/u013532224/article/details/46992973#include #include #include #include #include #incl原创 2015-07-24 19:20:59 · 282 阅读 · 0 评论 -
HDU 3342 Legal or Not (拓扑排序)
拓扑排序应用,判断是否有环,,//#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include using namespace std;typedef long long LL;const long long mod = 1e9 + 7;con原创 2015-08-18 09:59:49 · 315 阅读 · 0 评论 -
HDU 1285 确定比赛名次 (拓扑排序)
基础题,不多说。。//#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include using namespace std;typedef long long LL;const long long mod = 1e9 + 7;const int原创 2015-08-18 09:51:27 · 289 阅读 · 0 评论 -
HDU 1063 Exponentiation (高精度)
JAVA大法好~~import java.util.Scanner;import java.math.BigInteger;import java.math.BigDecimal;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); i原创 2015-08-05 11:57:50 · 389 阅读 · 0 评论 -
HDU 3473 Minimum Sum (划分树)
查询某区间的中位数与区间所有值的差值和//#include #include #include #include #include using namespace std;typedef long long LL;const int MAXN = 200010;int tree[20][MAXN];//表示每层每个位置的值int sorted[MAXN];//已经排序好的数原创 2015-08-04 09:55:32 · 309 阅读 · 0 评论 -
HDU 5289 Assignment (RMQ+二分)
求任意区间满足R-L#include #include #include #include #include #include using namespace std;typedef long long LL;const int inf = 0x3f3f3f3f;const double oo = 10e9;const double eps = 10e-9;const i原创 2015-07-22 13:23:24 · 352 阅读 · 0 评论 -
HDU 2852 KiKi's K-Number(树状数组+二分)
0的时候增加元素 1的时候删除 2的时候查找第几个比当前数大的//#include #include #include #include #include using namespace std;const int M = 100005;int N;int d[100005];int s[100005];int flag;int s1[100005];int lo原创 2015-08-02 18:26:08 · 304 阅读 · 0 评论 -
HDU 2853 Assignment (KM算法)
来自网上的巧妙思路:因为我们要变动最小,所以对在原计划中的边要有一些特殊照顾,使得最优匹配时,尽量优先使用原计划的边,这样变化才能是最小的且不会影响原匹配。根据这个思想,我们可以把每条边的权值扩大k倍,k要大于n。然后对原计划的边都+1。精华全在这里。我们来详细说明一下。全部边都扩大了k倍,而且k比n大,这样,我们求出的最优匹配就是k倍的最大权值,只要除以k就可以得到最大权值。实现原计原创 2015-08-13 22:16:21 · 359 阅读 · 0 评论 -
HDU 2255 奔小康赚大钱 (KM算法)
直接输入w[i][j]边权值建图套模板就可以了 //#pragma comment(linker, "/STACK:102400000,102400000")#include #include #include #include #include using namespace std;typedef long long LL;const long long mod = 1e9原创 2015-08-12 20:20:16 · 338 阅读 · 0 评论 -
HDU 3998 Sequence
求最长上升子序列的长度以及个数,由于数据水,可以直接找 正解是DP+网络流#include "cstring"#include "iostream"#include "algorithm"#include "cstdio"#include "queue"#include "set"using namespace std;typedef long long LL;const i原创 2015-07-19 21:13:46 · 264 阅读 · 0 评论 -
HDU 5285 wyh2000 and pupil
用染色法判断一下就好,不认识的人不同的颜色即不同分组,人数最多的一组在前#include#include#includeusing namespace std;typedef long long LL;int edgenum;int n,m;int flag;int color[100010];int colornum[2];int head[100010];int v原创 2015-07-19 08:46:41 · 695 阅读 · 0 评论 -
HDU 4634 Swipe Bo (BFS+状压)
哎,学到了~!@~!@//#pragma comment(linker, "/STACK:102400000,102400000")#include#include#include#include#include#include#includeusing namespace std;const int M = 60005;const int INF = 1e10;//原创 2015-08-09 18:43:45 · 594 阅读 · 0 评论 -
HDU 4604 Deque
!!流弊的方法#include #include #include #include #include using namespace std;const int inf = 0x3f3f3f3f;const int M = 100011;int n;int a[M];vectorv;inline void gao(int now){ if (v.empty原创 2015-07-21 22:21:11 · 304 阅读 · 0 评论 -
HDU 5371 Hotaru's problem (Manacher+暴力)
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;const int inf = 0x3f3f3f3f;typedef long long LL;原创 2015-08-11 18:10:25 · 473 阅读 · 1 评论 -
HDU 5206 Four Inages Strategy
#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include "vector"#include "cctype"#include "sstream"#include "cstdlib"#include "c原创 2015-04-18 21:48:58 · 676 阅读 · 1 评论 -
HDU 1698 Just a Hook(线段树成段更新)
#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "algorithm"#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3fLLusing namespace std;typedef long long LL原创 2015-04-06 14:42:45 · 291 阅读 · 0 评论 -
HDU 1242 Rescue (BFS+优先队列)
从天使的位置开始,直到找到r,优先队列每次选择最短时间的路#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int INF = 0x3f3f3f3f;const int M = 1010;struct node{ int x, y原创 2015-10-25 09:50:28 · 308 阅读 · 0 评论 -
HDU 1160 FatMouse's Speed(DP)
//#pragma commmpnt(linkmpr, "/STACK:102400000,102400000")#include #include #include #include #include #include using namespace std;typedef long long LL;const int M = 100010;const int INF =0x原创 2015-10-07 18:46:56 · 263 阅读 · 0 评论 -
HDU 1114 Piggy-Bank (完全背包)
完全背包for i=[0,n) for(j=weight[i]; j tab[j] = max(tab[j-weight[i]]+value[i],tab[j])//#include #include #include #include using namespace std;typedef long long LL;const int原创 2015-10-06 21:47:53 · 249 阅读 · 0 评论 -
HDU 1159 Common Subsequence(最长公共子序列)
#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include "vector"#include "cctype"#include "sstream"#include "cstdlib"#include "c原创 2015-03-19 20:01:12 · 272 阅读 · 0 评论 -
HDU 1428 漫步校园(Spfa+记忆化搜索)
#include#include#include#include#include#includeusing namespace std;typedef long long LL;const int M = 10000;const int INF = 0x3f3f3f3f;int n;int dir[][2] = { 1,0,-1,0,0,-1,0,1 };int mp[5原创 2015-10-20 21:01:09 · 357 阅读 · 0 评论 -
HDU 1078 FatMouse and Cheese (记忆化搜索)
#include#include#include#include#includeusing namespace std;typedef long long LL;const int M = 10000;const int INF = 0x3f3f3f3f;int n, k;int dir[][2] = { 1,0,-1,0,0,1,0,-1 };int dp[105][10原创 2015-10-19 19:30:30 · 219 阅读 · 0 评论 -
HDU 2859 Phalanx(DP)
基础DP#include#include#include#include#includeusing namespace std;typedef long long LL;const int M = 10000;const int INF = 0x3f3f3f3f;string s[1050];int dp[1050][1050];//char s[1050][1050]原创 2015-10-18 19:48:39 · 295 阅读 · 0 评论 -
HDU 4080 Stammering Aliens (后缀数组 + 二分答案)
//#pragma commmpnt(linkmpr, "/STACK:102400000,102400000")#include #include #include #include #include using namespace std;typedef long long LL;const int M = 10005;/* *suffix array *倍增算法 O(n原创 2015-09-03 12:01:01 · 404 阅读 · 0 评论 -
HDU 4705 Y (树形DP)
思路:反面考虑,用总的方案数减去A,B,C三点在同一路径上的方案数。于是我们可以确定中间点B,在当前以B为根求得的son中任选一个,在剩下的节点n-tmp-1(tmp为已经求得的B的儿子的个数)中任选一个,产生tmp*(n-tmp-1)中组合。//#pragma comment(linker, "/STACK:102400000,102400000")#pragma comment(link原创 2015-08-20 19:55:29 · 315 阅读 · 0 评论 -
HDU 4762 Cut the Cake (高精度 + 公式)
可得公式: n / (m^(n-1))import java.io.*;import java.math.*;import java.util.*;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int t = sc.nex原创 2015-09-09 19:23:29 · 339 阅读 · 0 评论 -
HDU 5351 MZL's Border(找规律)
由于有高精度,用JAVA写。。。第一次写正规的JAVA,哭晕import java.util.Scanner;import java.math.BigInteger;public class Main{ public static void main(String[] args){ Scanner sc = new Scanner(System.in);原创 2015-08-04 18:08:25 · 717 阅读 · 0 评论 -
HDU 1814 Peaceful Commission (2-SAT)
矛盾的情况为:存在Ai,使得Ai既必须被选又不可选。 枚举每一对尚未确定的Ai, Ai‘ ,任选1个,推导出相关的组,若不矛盾,则可选择;否则选另1个,同样推导。若矛盾,问题必定无解。此算法正确性简要说明:由于Ai,Ai ' 都是尚未确定的,它们不与之前的组相关联,前面的选择不会影响Ai, Ai ' 。算法的时间复杂度在最坏的情况下为O(nm)。在这个算法中,并原创 2015-08-19 15:03:34 · 442 阅读 · 0 评论 -
HDU 1394 Minimum Inversion Number (线段树求逆序数 )
#include "string"#include "iostream"#include "cstdio"#include "cmath"#include "set"#include "queue"#include "vector"#include "cctype"#include "sstream"#include "cstdlib"#include "c原创 2015-04-05 09:54:31 · 279 阅读 · 0 评论 -
HDU 5373 The shortest problem (水题)
~~水题,,,#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;const int inf = 0x3f3f3f3f;typedef lon原创 2015-08-11 19:47:48 · 328 阅读 · 0 评论 -
HDU 5237 Base64 (Java大法好)
~!#~#@~!@~~~import java.util.Base64;import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int casee = 0; int t = sc.nex原创 2015-08-09 17:00:55 · 572 阅读 · 0 评论 -
HDU 2896 病毒侵袭 (AC自动机)
记录串的id 用end数组来记录 ASCII可见字符从32~128#include #include #include #include #include using namespace std;struct Trie{ int next[205*500][128],fail[205*500],end[205*500]; int root,L; int原创 2015-07-08 10:32:57 · 290 阅读 · 0 评论 -
HDU 4666 Hyperspace(最长曼哈顿距离)
POJ 2926加强版,使用set处理,,//#pragma comment(linker, "/STACK:102400000,102400000")#include#include#include#includeusing namespace std;const int M= 60005;#define inf 1e100int a[M][5];int n,dem原创 2015-08-07 15:15:07 · 564 阅读 · 0 评论 -
HDU 2059 龟兔赛跑 (DP)
龟兔赛跑Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 12597 Accepted Submission(s): 4735Problem Description据说在很久很久以前,可怜的兔子经历了人生中最原创 2015-03-05 19:06:48 · 370 阅读 · 0 评论 -
HDU 3405 World Islands(最短路)
最短路变形。。#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "algorithm"原创 2015-03-15 08:40:39 · 358 阅读 · 0 评论 -
HDU 2128 Tempter of the Bone II(BFS)
#include "stack"#include "cstdio"#include "iostream"#include "cmath"#include "set"#include "sstream"#include "cctype"#include "string"#include "cstring"#include "algorithm"#include原创 2015-03-15 08:32:38 · 339 阅读 · 0 评论 -
HDU 1263 水果(结构体排序)
水果Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4061 Accepted Submission(s): 1499Problem Description夏天来了~~好开心啊,呵呵,好多好多水果~~J原创 2015-02-09 21:12:50 · 653 阅读 · 0 评论 -
HDU 1060 Leftmost Digit
取对数处理妥妥的。。 Leftmost DigitTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 14020 Accepted Submission(s): 5358Problem Descriptio原创 2015-02-09 21:33:44 · 307 阅读 · 0 评论