模拟题
文章平均质量分 78
九野的博客
这个作者很懒,什么都没留下…
展开
-
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 评论 -
SGU 476 Coach's Trouble 大数模拟
题目链接:点击打开链接#include #include #include using namespace std;typedef long long ll;const int len = 1000000000;const int L = 700;const int N = 3001;struct big { int a[L]; void clear() {原创 2014-09-18 16:50:23 · 1087 阅读 · 0 评论 -
SGU 484 Kola 模拟题(水
题目链接:点击打开链接#include #include #include #include using namespace std;const int N = 105;char a[N][N];int main() { int n, m; while(~scanf("%d%d", &n, &m)) { int si = -1, sj = -原创 2014-09-18 16:52:42 · 1092 阅读 · 0 评论 -
UVALive 4887 Soccer 状压+模拟
题目链接:点击打开链接题意:n个球队,m场比赛下面n行表示n个球队的名字。下面m场比赛表示该场比赛的2个队得分。-1表示我们可以任意填。这种任意填的比赛场数不超过12场。求:胜一场球队得2分,平得1分,败得0分。求每个球队最好名次与最差名字。每场只有3个状态,最多只有12场,所以状压一下,3^12个状态。#include #include原创 2014-09-05 23:52:50 · 1197 阅读 · 0 评论 -
HDU 4930 Fighting the Landlords 模拟
_(:зゝ∠)_4带2居然不是炸弹,,#include #include #include #include #include #include #include #includeusing namespace std;#define N 18#define inf 1000000#define ll intstruct node{ int a[N];原创 2014-08-07 22:46:34 · 1196 阅读 · 0 评论 -
UVALive 4882 Parenthesis 删除不必要的括号 模拟题
题目链接:点击打开链接题意:给定一个合法的序列,删掉所有不必要的括号。#include #include const int MAX_N = 10007;char a[MAX_N];int stack[MAX_N], top;bool mark[MAX_N], stacknow[MAX_N];int main() { while (1 == scanf("%s"原创 2014-09-05 23:50:23 · 1533 阅读 · 0 评论 -
CodeForces 112D Petya and Divisors 模拟题(水
题目链接:点击打开链接论科学暴力的姿势重要性。。#include #include #include #include #include #include #include #include using namespace std;#define ll int#define N 100010#define M 100010vectorG[N], g原创 2014-09-05 15:58:13 · 1481 阅读 · 0 评论 -
HDU 4974 A simple water problem 模拟(水
水题。#include #include #include #include using namespace std;typedef long long ll;priority_queue q;int main() { int T, cas = 0; scanf("%d", &T); while(T-- > 0) { int n;原创 2014-08-21 17:51:01 · 1427 阅读 · 0 评论 -
ZOJ 3818 Pretty Poem 模拟题
题目链接:点击打开链接#include #include #include #include using namespace std;const int N = 55;char a[N], b[N];int main() { int T; scanf("%d", &T); while(T-- > 0) { scanf("%s", a); int Len =原创 2014-09-07 19:03:04 · 1474 阅读 · 0 评论 -
ZOJ 3816 Generalized Palindromic Number dfs+暴力枚举
题目链接:点击打开链接题意:给定一个数n找一个最大的数u使得u枚举前面有多少位是一样的。然后分类讨论。啪啦啪啦#include #include #include #include #include using namespace std;typedef long long ll;const int N = 22;int pie[N], piesize;ll原创 2014-09-07 19:04:57 · 2531 阅读 · 0 评论 -
HDU 4941 Magical Forest _(:зゝ∠)_ 模拟题
模拟大法保平安_(:зゝ∠)_ #include #include #include #include using namespace std;const int N = 1;struct node{ int x, y, val; node(int a=0,int b=0,int c=0):x(a),y(b),val(c){} bool operator<(原创 2014-08-12 17:19:33 · 1171 阅读 · 0 评论 -
Codeforces 106D Treasure Island 预处理前缀和+暴力(水
题目链接:点击打开链接题意:给定n*m的矩阵# 是墙 . 和字母是平地最多有26个字母(不重复出现)下面k个指令,每个指令代表移动的方向和步数。若以某个字母为起点,依次执行所有的指令,任何过程都不会撞到墙或走出地图,则这个字母合法。按字典序输出所有合法的字母。若没有字母合法则输出' no solution'预处理一下前缀和然后暴力。#include原创 2014-09-01 17:58:01 · 1675 阅读 · 0 评论 -
Codeforces 475C Kamal-ol-molk's Painting 模拟
题目链接:点击打开链接题意:给定n*m的矩阵X代表有色 .代表无色用一个x*y的矩阵形刷子去涂色。刷子每次可以→或↓移动任意步。若能够染出给定的矩阵,则输出最小的刷子的面积若不能输出-1思路:先找到连续最小的x,y因为至少一个边界和x或y相等,所以枚举(x,i) 和 (i,y)就可以了。#pragma comment(linker, "/STACK:原创 2014-10-06 11:42:42 · 1822 阅读 · 0 评论 -
HDU 4121 Xiangqi 模拟题(水
#include #include #include #include #include #include #include using namespace std;int n, bx, by, rx, ry;struct node{ char c; int x, y;}a[20];int mp[20][20], ok[20][20], step[4][2]原创 2014-11-09 16:44:35 · 1085 阅读 · 0 评论 -
ZOJ 3830 Alkanes 大模拟!!
题目链接:点击打开链接就是给了一个树形的烷烃,输出他的科学命名然后写写写。。。==强行回忆高中化学#include#include #include#include#include#include #include#includetemplate inline bool rd(T &ret) { char c; int sgn; if (c = getchar原创 2014-11-30 19:50:10 · 1170 阅读 · 0 评论 -
URAL 2013 Neither shaken nor stirred dfs 模拟
题目链接:点击打开链接题意:给定n个点的有向图:下面n行,第一个数字表示点权,后面一个数字m表示有m条边。起点是1.对于每个点,输出2个值表示前驱点权1和该点点权2。1、若有多条路径到达该点且前驱的点权存在>0则输出unknown,否则输出前驱的点权(就是若有多条路径且全为0输出0,否则若只有一条路径则输出前驱点权,否则输出unknown)2、若1输出的是0,则输出该点原创 2014-12-09 14:52:02 · 1638 阅读 · 0 评论 -
Aizu 1258 Book Replacement deque+模拟
题目链接:点击打开链接Book ReplacementThe deadline of Prof. Hachioji’s assignment is tomorrow. To complete the task, students have to copy pages of many reference books in the library.All the ref原创 2015-03-31 14:43:25 · 1195 阅读 · 0 评论 -
Codeforces 528A Glass Carving STL模拟
题目链接:点击打开链接题意:给定n*m的矩阵,k个操作2种操作:1、H x 横向在x位置切一刀2、V y 竖直在y位置切一刀每次操作后输出最大的矩阵面积思路:因为行列是不相干的,所以只要知道每次操作后行的最大间距和列的最大间距,相乘就是最大面积用一个set维护横向的所有坐标点,一个multiset维护横向的间距。每次对行操作x则在set中找到比x大的最小数原创 2015-03-18 15:57:26 · 1631 阅读 · 0 评论 -
SGU 239 Minesweeper 模拟题
题目链接:#include #include #include #include #include #include #include #include #include using namespace std;typedef long long ll;const int N = 1000 + 10;map cnt;ll d[N][4];i原创 2014-09-18 16:20:33 · 1042 阅读 · 0 评论 -
HDU 4968 Improving the GPA 模拟
最小时就都当69,最大时都当85。。#include #include #include #include #include #include #include #include using namespace std;#define N 5000int av, n;int s[N];double go(int x){ if(x< 60)return原创 2014-08-19 19:39:49 · 1265 阅读 · 2 评论 -
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 评论 -
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 4770 模拟题
题意:给定n*m的地图问用L型能否覆盖所有 . 且不允许覆盖到*L型形如:***可以允许一个L 旋转 思路:二进制枚举所有状态因为只有15个. #include#include#includeusing namespace std;inline int Max(int a,int b){return a>b?a:b;}i原创 2013-11-09 17:59:26 · 2214 阅读 · 0 评论 -
HDU 4772 模拟题
题意:给定n*n的2个矩阵问 用第二个矩阵通过翻转变换 使得与第一个矩阵匹配数字最多 最多的匹配数是多少 #include#includeinline int Max(int a,int b){return a>b?a:b;}inline int Min(int a,int b){return a>b?a:b;}#define N 50int原创 2013-11-09 18:11:17 · 1811 阅读 · 0 评论 -
FZU 2135 && FOJ11月赛D题 模拟题
模拟题:#include#include#includeusing namespace std;char s[200];int main(){int i,j,k,m,n,T;scanf("%d",&T);while(T--){scanf("%d",&n);scanf("%s",s);sort(s,s+n);if(s[0]=='0'){原创 2013-11-10 20:23:19 · 1463 阅读 · 0 评论 -
FZU 2135 && FOJ11月赛E题
借个代码:#include#include#include#includeusing namespace std;const int maxn=100100;const int inf=1000000000;struct node{ int l,r;}pp[maxn];int a[maxn],ans[maxn];int main()原创 2013-11-10 20:26:04 · 1559 阅读 · 0 评论 -
ZOJ 3790 Consecutive Blocks 模拟题
Consecutive Blocks先离散一下,然后模拟,把一种颜色i所在的位置都放入G[i]中,然后枚举一下终点位置,滑动窗口使得起点和终点间花费不超过K,求中间过程的最大值即可。#include #include #include #include #include #include #include #include #include #include #in原创 2014-06-02 16:06:51 · 1780 阅读 · 0 评论 -
Codeforces 309C Memory for Arrays 二进制模拟进位
题目链接:点击打开链接题意:给定n个箱子m个物品下面n个数字表示箱子的容量下面m个数字b1-bm 表示物品体积为2^bi大问最多有多少个物品可以放入箱子。思路:贪心,先放小的,小的不能放再放大的显然我们把n个箱子拆成二进制,然后模拟二进制减法运算。剩下就是简单模拟#include#include#include#include#include#in原创 2014-06-23 23:20:41 · 1352 阅读 · 0 评论 -
codeforce 374A 网格图最短路走法
题意:给定 n m 大的网格图起点 s.x s.ya b表示每次移动时 x y 的变化 (即:step[0][0] = -a; step[0][1] = -b;step[1][0] = +a; step[1][1] = -b;step[2][0] = -a; step[2][1] = +b;step[3][0] = +a; step[3][1] = +b;)问:原创 2013-12-19 10:28:56 · 2582 阅读 · 0 评论 -
HDU 4039 The Social Network bfs
算了下复杂度好像是n^3 就感觉不大好做。结果n^31a。。。#include #include #include #include #include #include #include #include using namespace std;#define eps 1e-9#define PI acos(-1.0)#define N 1005#define inf原创 2014-05-14 12:51:48 · 1455 阅读 · 0 评论 -
2014 北京邀请赛ABDHJ题解
A:点击打开链接构造,结论是从第一行开始往下产生一条曲线,使得这条区间最长且从上到下递减,#include #include #include #include #include #include #include using namespace std;#define N 100005vectorG[N], P[N], tmp;sets[N];set::iterat原创 2014-07-03 23:27:08 · 1529 阅读 · 0 评论 -
HDU 4325 Vampire Numbers 打表
杭电服务器是慢啊。。#include #include #include #include #include #include #include #include using namespace std;#define ll long long#define N 1000005sets;ll ans[1783]={126,153,688,1206,1255,1260,原创 2014-07-06 10:31:32 · 2389 阅读 · 0 评论 -
Codeforces 48C The Race 模拟题
题目链接:点击打开链接题意:给定n个加油站,一辆车由A点跑到B点,每个100m有一个加油站,每开100m需要10升油。在每个车站会检查一下油量,若车子若开不到下一个加油站则加x升油。开始有x升油下面给出加油的记录。问下一次加油在哪一站。若答案唯一输出具体哪站。油箱容量无限思路:水模拟。。#include #include #include #inclu原创 2014-07-27 16:42:38 · 1545 阅读 · 0 评论 -
Codeforces 216D Spider's Web 树状数组+模拟
题目链接:http://codeforces.com/problemset/problem/216/D题意:对于一个梯形区域,如果梯形左边的点数!=梯形右边的点数,那么这个梯形为红色,否则为绿色,问:给定的蜘蛛网中有多少个红色。2个树状数组维护2个线段。然后暴力模拟一下,因为点数很多但需要用到的线段树只有3条,所以类似滚动数组的思想优化内存。#include#includ原创 2014-06-21 18:21:54 · 1451 阅读 · 0 评论 -
HDU 4915 Parenthese sequence _(:зゝ∠)_ 呵呵
呵呵不是我做的#include #include #include const int N = 1000000 + 10;char s[N];int d[N], num[N];int main() { while (~scanf("%s", s)) { memset(num, 0, sizeof num); int len = strlen原创 2014-08-05 17:30:58 · 1784 阅读 · 0 评论 -
Codeforces 57B Martian Architecture 暴力||线段树
题目链接:点击打开链接题意:n长的序列(初始全为0) m个操作 k个查询下面m个操作[l,r] h 代表 a[l] +=h; a[l+1] += h+i; a[l+i] += h+i; l然后问k个位置的和因为k-----------------------如果k只需要给区间记录一个标记lazy,表示从左端点开始 l, l+1, l+i ··· l+r而向下更新时原创 2014-08-04 17:01:14 · 1265 阅读 · 0 评论 -
SGU 403 404 405 406 407 408 409 410 411 413
SGU 403#includeint x;int main(){while(~scanf("%d",&x))printf("%d\n", 2*x+1);return 0;}SGU 404#include#include#include#includeusing namespace std;int n, m;char s[105][105];int main原创 2014-08-04 16:43:19 · 2253 阅读 · 0 评论 -
CSU 1574 Amanda Lounges 模拟题
题目链接:点击打开链接题意:给定n个点m条边的无向图(开始每个点都是白色)下面m行给出边和边权,边权表示这条边所连接的2个点中被染成黑色的点数。0表示染,1表示其中一个点染,2表示都染。问:最少染多少个点可以满足上述的边权。若不存在输出impossible首先处理所有边权为0和2的情况。这样处理后图中就只剩下边权为1的子图。任意染一个点,然后bfs一下把子图染掉即可原创 2015-04-30 13:48:32 · 1299 阅读 · 0 评论