模拟
文章平均质量分 73
Weiguang_123
这个作者很懒,什么都没留下…
展开
-
poj 3325(模拟)
题意:给出队列n个数的优先级和他的位置,每次输出的必须是队列中优先级最高的数,否则就要插入队尾,给定位置的数要输出,求之前输出几个数(和它本身)?思路:开一个优先队列(其实一个大头的堆也可以)和一般存数的队列。模拟之。和之前的写过的一篇排队要看病列类似。代码:#include #include #include #include #include #include原创 2012-06-27 12:13:07 · 806 阅读 · 0 评论 -
HDU 4121(非常纠结的模拟)
起初是模拟红棋子能到达的都标记出来,然后判断黑棋子无法走了,就说明输了。但是这种想法是错的,因为红子在改动的时候回去影响其他棋子的范围,比较麻烦,还有的就是黑方可能把红色的棋子吃掉,从而黑方也不会输的。 唉,还是太年轻了,还有的思路:直接枚举黑方能到达的点,然后判断红方是否到达不就行了庅,非常简便。为啥开始想不到这个呢?这道是非常简单的现场赛题了,还很远。#include #原创 2012-06-28 17:52:12 · 1491 阅读 · 0 评论 -
hdu 4364(矩阵相乘)
题意:给你一个aes矩阵和另一个矩阵matri让这两个矩阵相乘,我们重新定义矩阵相乘:1.相加用xor代替。2.相乘要看aes中的值,if 1: matri中的值不变。if 2: matri中的值左移一位。if 3: matri中的值左移一位,然后和左移前的值xor.Notice:After each shifting, a conditional xor with 0x1原创 2012-08-15 19:04:39 · 926 阅读 · 0 评论 -
hdu 4389:打巨表
题意 :一个数能被他各个位数之和整除则符合要求,给L,R,问区间里有多少个数符合要求。即使你不会DP,也可以分段打表,比如10w为一个区间,统计这有多少个符合要求,然后对于一个数,先判断在哪个区间,再把之前的求和,对所在的区间暴力搜。记得打表用的函数:freopen("E:\\out.txt","w",stdout);#include #include #include #in原创 2012-08-21 22:31:44 · 9251 阅读 · 0 评论 -
hdu(4021)八数码的解是否存在问题
题意:给出一个board,上面有24个位置,其中23个位置上放置了标有数字1~23的方块,一个为空位(用数字0表示),现在可以把空位与它旁边的方块交换,给出board的起始状态,问是否可以达到指定的状态。思路:看起来很像著名的“八数码”问题,首先,针对八个特殊位置(死角),如果这里有空位就把它和相邻的位置交换,这样之后如果两个状态的对应死角上的数字不同,那么显然是不能达到指定状态的,因为无原创 2012-09-03 17:38:11 · 1143 阅读 · 0 评论 -
hdu(4007)正方形能框住最大的点数
暴搞呗。。。#include #include #include #include #include #include #include #define inf 1000300000using namespace std;const int N=1093;struct Node{ int x,y;}point[N];int n,R;原创 2012-08-27 16:31:35 · 844 阅读 · 0 评论