水题
文章平均质量分 72
九野的博客
这个作者很懒,什么都没留下…
展开
-
HDU 4506 小明系列故事——师兄帮帮忙
快速幂,模版题#include #include #include using namespace std;#define MOD 1000000007#define maxn 10010inline int Max(int a,int b){return a>b?a:b;}#define LL long longLL mods(LL a,LL b,LL n){ LL原创 2013-07-31 13:49:30 · 1265 阅读 · 0 评论 -
POJ 3765 Xiang Hex
模拟题题意:在如图中的蜂窝中,填上给定坐标的字母 #include#includechar map[21][10];int main(){ int i,a,n,j; while(scanf("%d",&n),n) { for(i=0;i<21;i++) for(j=0;j<10;j++) map[i][j]=' '; while原创 2013-08-19 14:04:00 · 1921 阅读 · 0 评论 -
HDU 2845
题意:如图中所示,选一个数后,它左右两边的数 和 上下2行的数不能再选,问这样选出的数和的最大值思路:对每一行求出:这一行选数字的最大值(也就是 i行 做一个最大值dp[i] ,则这一行的最大值是 dp[i][m] )对列来求dp时 ,已知每一行的最值是 dp[i][m],则这里做一个小dp2mark#include #include #define N 2000in原创 2013-08-07 22:45:55 · 1337 阅读 · 0 评论 -
POJ 2676 Sudoku
简单数独#include #includestruct node{ int x,y;}p[90];int map[10][10],num;bool success;bool OK(node P,int k){//P这个点填入k int i; for(i=0;i<9;i++)if(map[P.x][i]==k || map[i][P.y]==k)return false;//数原创 2013-08-08 22:24:56 · 1079 阅读 · 0 评论 -
HDU 4361 Dead or alive
这种神题放在多校是何意图。。#include #include int main(){ srand(1121139700); int caseNumber; scanf("%d", &caseNumber); while(caseNumber --) if(rand() & 1) printf("alive!\n");原创 2013-08-22 20:57:24 · 1763 阅读 · 0 评论 -
HDU 4350 Card
打表找规律,比赛应付了一下,其实还可以把内存再优化一半掉,下面的0都是手动填充的,可以优化掉题意:T个测试数据下面52个数字表示 从栈顶到栈底的52个数n l r表示 从栈顶下数 [l,r] 这个区间的数都放到栈顶 这样n次操作后的结果这里可以猜想 n 操作应该是有重复的,也就是取模n%MOD , MOD是个关于 l ,r 的表达式省时间就直接打表了 #in原创 2013-08-20 18:49:27 · 1814 阅读 · 0 评论 -
HDU 4365 Palindrome graph 模拟题
题意:求用k种颜料将n*n大的方格涂满的方法有多少种,这里已经有m个格子上过色了涂满后的方格要满足:中心对称,翻转对称,旋转对称 思路:1、从对称可以得到 方格可以分为对称的8瓣 所以我们用2条对角线和 2条中位线 把方格切成八瓣,每一瓣的方格数有 0 + 1 + 2 + …… + [n+1]/2 (方格数计算是包含分割线上的方格)2、若不考虑已上过色的格子 方案就是 k^原创 2013-08-22 18:42:17 · 2063 阅读 · 2 评论 -
HDU 4349 Xiao Ming's Hope 2012 Multi-University Training Contest 5
题意:给定n ,求n 的组合数中,奇数的个数数论水题,打表找规律的 #include int main(){ int n,sum,i; while(scanf("%d",&n)!=EOF) { if(n%2!=0) { sum=0; for(i=0;i<=n/2;i++) { if((n&i)==i) s原创 2013-08-15 19:38:15 · 1340 阅读 · 0 评论 -
HDU 2273
n组数据下面n行表示车长度 车速度结果:所有车长/最小车速快快的水掉。。#include#include#include#include#define ll doubleusing namespace std;inline ll Max(ll a,ll b){return a>b?a:b;}inline ll Min(ll a,ll b){return原创 2013-08-17 14:28:48 · 1266 阅读 · 0 评论 -
HDU 3549 Flow Problem(有向边网络流)
题意:T个测试数据下面n,m表示n个点m条有向带权边m条边问:从1-n最大流多少测板子的题目,没啥思路下面用的是dinic,开始没有考虑反向弧debug了好久,附赠一大坨测试数据#include #include #include #include #include #include #include #include #include原创 2013-09-06 14:59:51 · 2466 阅读 · 0 评论 -
HDU 1028 Ignatius and the Princess III
题意:n的划分个数,是组合数,排列不重复计算水题mark#include#include#define N 130int dp[N][N];int Maxn[N][N];int main(){ memset(dp,0,sizeof(dp)); memset(Maxn,0,sizeof(Maxn)); int i,j,n; dp[1][1]=1; Maxn[0][0]=1;原创 2013-08-08 10:55:19 · 2111 阅读 · 0 评论 -
HDU 4708 Rotation Lock Puzzle && 2013 ACM/ICPC Asia Regional Online —— Warmup
#include #include #include #include #include #include #include #include #include #include #include #include #define inf 107374182#define N 105#define im -1000000#define l原创 2013-09-08 17:40:01 · 2130 阅读 · 0 评论 -
HDU 4710 Balls Rearrangement && 2013 ACM/ICPC Asia Regional Online —— Warmup
这个题在多校出现过,借个kuangbin大神的代码#include #include #include #include #include #include #include #include #include #include using namespace std;long long gcd(long long a,long long b){原创 2013-09-08 17:48:35 · 1840 阅读 · 0 评论 -
HDU 4707 Pet && 2013 ACM/ICPC Asia Regional Online —— Warmup
题意:给定n个点和距离dis下面是一棵树求到0点距离>dis的点有几个spfa 水过#include #include #include #include #include #include #include #include #include #include using namespace std;long long gcd(long原创 2013-09-08 17:48:59 · 2004 阅读 · 0 评论 -
HDU 1878 欧拉回路
一笔画问题,只要满足连通分量是1且所有点的度是偶数即可 #include#include#include#include#include#include#define N 1000using namespace std;int f[N],d[N];int find(int x){ if(x==f[x])return x; return f[x原创 2013-09-02 15:48:44 · 1441 阅读 · 0 评论 -
HDU 1358 Period 求前缀长度和最小循环节长度
题意:求该字符串(前面一部分)存在循环的最小循环节是多少,输出所有满足该条件的 前缀长度和最小循环节长度#include char P[1000010];//从0开始存int f[1000010];//记录P的自我匹配int Len;void getFail(){ int m=Len; f[0]=f[1]=0; for(int i=1;i<m;i++){ int j=f[i原创 2013-08-09 16:19:45 · 2063 阅读 · 1 评论 -
HDU 4715 Difference Between Primes && 2013 ACM/ICPC Asia Regional Online —— Warmup
#include #include #include #includeusing namespace std;#define Pn 9592int prime[Pn]={2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,103,107,109,113,127,131,137,原创 2013-09-08 17:44:38 · 6104 阅读 · 5 评论 -
HDU 1506 Largest Rectangle in a Histogram
题意:给定n,后面n个数表示上述柱状图的高度(每个柱形底为1)画一个矩阵,求面积最大是多少 思路:感觉跟dp有点关系,就放dp类里了,主要还是模拟思路 对于每一个柱形 K 能得到的最大面积是:(左连续的柱形个数+右连续的柱形个数 )* High[ K ]而对于求左右连续个数有点像记忆化搜索mark: #include #include #include原创 2013-09-03 15:48:55 · 1723 阅读 · 0 评论 -
HDU 2571 命运
题意:中文题,略按题意模拟转移方程就可以了#include #include #include #include #include #include #include #include #define inf 1000000000#define N 100010#define ll intusing namespace std;inline原创 2013-09-03 16:21:26 · 1373 阅读 · 0 评论 -
UESTC 1808 Eating Fish is Fun
题目链接 :http://222.197.181.5/problem.php?pid=1808题意:T个测试数据a,b,c 表示有 a个1,b个2,c个5 问:由上述不能组成的最小正整数是多少 思路1:模拟做用a个1组成一串连续的数字[0,a] 然后从中取出k ( 0<=k<=a) 和 2换一下就有连续的一个序列,再把换出来的1放回去,所以有一串连续序列 [0, r原创 2013-09-05 11:07:31 · 2092 阅读 · 0 评论 -
HDU 1150 && HDU 1151 二分匹配模版题
注意一下点集的范围是1开始的即可 #include #include #include #include #include #include #include #include #include #include #include #define N 200#de原创 2013-10-01 21:28:33 · 1608 阅读 · 0 评论 -
HDU 4608
和上面发的那个一样,都是签到题的样子给定一个数x(x有10^5次方 位) 然后找一个比x大的,所有位数和是10的倍数的数原创 2013-07-24 21:25:54 · 1281 阅读 · 0 评论 -
HDU 4318 Power transmission
题意:给定n个点,下面n行i行:k表示i点连接的边数i连接的点 边权值最后一行 起点 终点 输入起点电量求一条最短路dij裸题,注意边排序。用spfa可以防止边排序错误的dij无限TL #include#include#include#include#include#include#include#include#include#原创 2013-09-18 19:22:06 · 2041 阅读 · 0 评论 -
POJ 1619 EKG Sequence
公因子一定是 前面那个数中,最大的素因子#include #include #include #include #include #define A system("pause")using namespace std;const int maxn=1000000+5;inline void debug(){ printf("whe原创 2013-09-19 09:54:30 · 2511 阅读 · 1 评论 -
POJ 1617 Crypto Columns
模拟题意输出 #include #include #include #include #include #include #include #include using namespace std;#define ll long long#define MOD 1000000007#define TASK "proddiff"#define原创 2013-09-19 09:48:06 · 1726 阅读 · 0 评论 -
HDU 4737
按位或运算出后的结果只会增加不会减少 T_T#include #define N 110010#define ll intll a[N];int main(){ int T,Cas=1;scanf("%d",&T); int n,m; ll i,j,ans; while(T--) { scanf("%d %原创 2013-09-14 18:57:38 · 1552 阅读 · 0 评论 -
POJ 1159 添加最少几个字符可以成回文
给定字符串,求 其反向的字符串和原串的最长公共子序列最后输出 原子串长 - 子序列长直接开2维数组会ML,用滚动数组优化内存 #include#include#include#include#include#include#include#include#include#include#include#include#define N原创 2013-09-19 10:50:30 · 2561 阅读 · 0 评论 -
POJ 2502 建图+spfa模版
题意:第一行给定起末点坐标下面每行输入地铁线路,(-1,-1)表示该线路输入结束,读到EOF任意点都可达,速度是10km/h ,地铁线路上相邻2点速度是40km/h ,问最短时间是多少分钟 #include #include #include #include #include #define N 250#define M N*N+2#define in原创 2013-09-22 14:01:22 · 2299 阅读 · 0 评论 -
POJ 1724 最短路费用限制
迪杰斯塔拉裸题最大花费n个点m条有向边起点终点 路径长度 路径花费 问:在花费限制下,最短路径的长度 #include #include #include #include #include #include #include #include #include #include #include #include #原创 2013-09-20 19:41:57 · 2362 阅读 · 0 评论 -
HDU 3308 线段树 最长连续上升子序列 单点更新 区间查询
题意:T个测试数据n个数 q个查询n个数 ( 下标从0开始)Q u v 查询 [u, v ] 区间最长连续上升子序列 U u v 把u位置改成v #include#include#include#includeusing namespace std;#define N 101010#define L(x) (x<<1)#define R(x)原创 2013-10-10 17:49:02 · 2075 阅读 · 0 评论 -
HDU 1711 Number Sequence KMP裸题
这个是MP,没有对f 数组优化过,所以说KMP有点不准确#include int a,b;int T[1000010],P[10010];//从0开始存int f[10010];//记录P的自我匹配void getFail(){ int m=b; f[0]=f[1]=0; for(int i=1;i<m;i++){ int j=f[i]; while(j&&P[i]!=P原创 2013-08-09 15:45:13 · 1525 阅读 · 0 评论 -
HDU 2896 AC自动机 裸题
中文题题意不再赘述注意字符范围是可见字符,从32开始到char c - 32 #include #include #include #include using namespace std;#define N 10000#define maxnode 57000#define sigma_size 95int pre[3];struct Tri原创 2013-10-07 21:41:59 · 1569 阅读 · 0 评论 -
ZOJ 3674 Search in the Wiki 字典树+set+map映射
题意:n个单词下面n*2行, 第一个为单词,第二行为该单词的关联词汇最后一行询问: 字典序输出 这些单词关联的 公共关联词汇 思路:做起来有些麻烦,没有太多思路,模拟做即可 #include #include #include #include #include #include #include #include #include原创 2013-10-17 22:29:48 · 2180 阅读 · 0 评论 -
POJ 3630 字典树 判断单词是否不覆盖
题意:若有单词覆盖输出NO否则输出YES 字典树裸题,判断新建单词时 路径中是否存在 单词结尾 #include #include #include #include #include #include #include #include #in原创 2013-10-04 20:38:44 · 1781 阅读 · 0 评论 -
HDU 1540 && POJ 2892 线段树 单点染色 区间查询
题意:n 个点 q个操作Q u 问u所在的位置 连续1的个数 ( 初始化n个点都为1)D u 把u点染成 0 色R 把最后一次染的点染成1色 #include#include#includeusing namespace std;#define N 51000#define L(x) (x<<1)#define R(x) (x<<1|1)inl原创 2013-10-11 15:42:17 · 1669 阅读 · 0 评论 -
Uva 12299 线段树求区间最小值(RMQ) 区间查询单点更新
n个点 m个操作shift(a,b,c···) 表示把a位置的数字放在最后,其他位置的数字向前移动 这里shift直接视为修改单点数据没有太多trap, 注意向上更新时 只有非叶子节点才允许此操作线段树裸题:#include #include #include #include #include #define N 101000#define ll原创 2013-10-05 18:23:52 · 2073 阅读 · 0 评论 -
POJ 3667 区间染色 询问连续空段
n个点 q个操作1 u 找出连续u个值为0的点 并染色( 若没有输出0 有则输出其位置( 有多个满足条件的点就输出最左端位置 ))2 u v 把 [u, u+v-1] 这个区间清空, 注意u+v-1 范围可能超过n #include#include#include#include#define N 51000#define L(x) (x<<1)原创 2013-10-10 19:22:18 · 1852 阅读 · 0 评论 -
HDU 3065 AC自动机 裸题
中文题题意不再赘述注意 失配数组 f 初始化一步到位 #include #include #include using namespace std;#define N 2000100#define maxnode 50010#define sigma_size 26struct node{ char name[55]; int num;}S原创 2013-10-07 23:37:42 · 1754 阅读 · 0 评论 -
HDU 1226 BFS
注意密码位数要点题目都已说明 ac就好 #include#include#include#include#include#define N 5100#define L(x) (x<<1)#define R(x) (x<<1|1)using namespace std;inline int Max(int a,int b){return a>b原创 2013-10-10 21:13:28 · 1519 阅读 · 0 评论 -
HDU 3912 BFS走迷宫
题意:给定n*m 大小矩阵, 出发点所在列, 终点所在列 (行统一在第一行和最后一行)下面 2*i - 1 行给出 矩阵中墙壁存在与否 问沿着右边墙壁走,从起点走到终点 ,再从终点走到起点能否遍历所有方格思路:BFS模拟题意,队列存边 #include#include#include#include#include#include#inclu原创 2013-10-26 18:41:39 · 1695 阅读 · 0 评论