
模拟
文章平均质量分 77
PbTfcLx
一只蒟蒻
展开
-
扫雷(BZOJ1088) 题解
【问题描述】 相信大家都玩过扫雷的游戏。那是在一个n*m的矩阵里面有一些雷,要你根据一些信息找出雷来。万圣节到了,“余”人国流行起了一种简单的扫雷游戏,这个游戏规则和扫雷一样,如果某个格子没有雷,那么它里面的数字表示和它8连通的格子里面雷的数目。现在棋盘是n×2的,第一列里面某些格子是雷,而第二列没有雷,如下图: 由于第一列的雷可能有多种方案满足第二列的数的限制,你的任务即根据第二列的信原创 2016-01-10 18:42:24 · 1716 阅读 · 0 评论 -
NOIP2009题解
spy: 题目大意:给定一串加密信息和原信息,让你求出该加密信息是否满足26个字母都存在,且加密信息中每个字母在原信息中对应不同的字母,原信息中的每个字母在加密信息中对应不同的字母,若不满足输出Failed,否则翻译指定的加密信息。字符串长度<=100. 题解:一道简单的字符串模拟题……看懂题目就好了,值得注意的是在样例中没有加密信息中的每个字母在原信息中对应不同的字母,题目看清楚了则无大碍。时原创 2016-06-23 16:32:19 · 742 阅读 · 0 评论 -
NOIP2007题解
统计数字: 题目大意:给你n个数,求每个数出现的次数。 题解:排个序,记录每个数出现的个数,如果碰到不同的数了输出并清零即可。时间复杂度:O(n log n),空间复杂度:O(n)。#include<cstdio>#include<algorithm>using namespace std;int n,i,a[200010],x,cnt;int main(){ scanf("%d原创 2016-05-20 12:02:19 · 958 阅读 · 0 评论 -
NOIP2006题解
能量项链: 题目大意:有n个珠子串成一个环,每个珠子有头标记和尾标记,每次可以合并任意相邻的两颗珠子i,j,所得的能量为head[i]*head[j]*tail[j],求将n颗珠子合并成一颗的最大能量和。n<=100. 题解: 对于有环的题目,我们一般先拆环为链,变成一条长度为2n的链。然后我们发现最终答案就是在这条长度为2n的链上找到一段长度为n的区间进行操作使得能量和最大。不难想到对原创 2016-05-19 20:26:17 · 758 阅读 · 0 评论 -
NOIP2012day1题解
Vigenere密码: 题目大意:给你一个密文和密钥,密文=第(密钥+明文)%26位字母,且密文的大小写要与明文相同,求明文。密钥长度<=100,密文长度<=1000. 题解: 直接模拟即可,可以得出明文=密文-密钥,如果小于0的话+26再加上相应的A或a即可。时间复杂度:O(n),空间复杂度:O(n)。#include<cstdio>#include<cstring>#include<c原创 2016-05-07 21:00:59 · 1313 阅读 · 0 评论 -
NOIP2005题解
谁拿了最多奖学金: 题目描述: 某校有n个人,每个人都有五项信息,一共有五种奖学金,每种奖学金都需要达到一定的要求才能得到,求所有人的总奖学金和以及奖学金最多的人。若奖学金相同输出输入文件中出现最早的人。n<=100. 题解: 数据范围这么小显然是道暴力模拟题,暴力求出符合哪些奖学金的条件,重点在于会不会多关键字排序(奖学金和序号),当然也可以用稳定的排序(比如计数排序)。时间复杂度:O(n原创 2016-04-28 14:32:34 · 736 阅读 · 0 评论 -
双栈排序(codevs 1170)题解
【问题描述】Tom最近在研究一个有趣的排序问题。如图所示,通过2个栈S1和S2,Tom希望借助以下4种操作实现将输入序列升序排序。操作a如果输入序列不为空,将第一个元素压入栈S1操作b如果栈S1不为空,将S1栈顶元素弹出至输出序列操作c如果输入序列不为空,将第一个元素压入栈S2操作d如果栈S2不为空,将S2栈顶元素弹出至输出序列如果一个1~n的排列P可以通过原创 2016-01-10 18:41:24 · 1053 阅读 · 0 评论 -
花匠(codevs 3289)题解
【问题描述】花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。具体而言,栋栋的花的高度可以看成一列整数h_1, h_2, … , h_n。设当一部分花被移走后,剩下的花的高度依次为g_1, g_2, … , g_m,则栋栋希望下面两个条件中至少有一个满足:条件 A原创 2016-01-10 18:41:54 · 1047 阅读 · 2 评论 -
作业调度方案(codevs 1156)题解
【问题描述】我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成。每个工件的每道工序都有指定的加工时间。每个工件的每个工序称为一个操作,我们用记号j-k表示一个操作,其中j为1到n中的某个数字,为工件号;k为1到m中的某个数字,为工序号,例如2-4表示第2个工件第4道工序的这个操作。在本题中,我们还给定对于各操作的一个安排顺序。例如,当n=3,m原创 2016-01-10 18:41:56 · 916 阅读 · 0 评论 -
NOIP2008题解
word: 题目大意:给你一个仅由小写字母构成的字符串,求这个字符串中出现次数最多的字符的出现次数减出现次数最少的字符的出现次数是否为一个质数。字符串长度<=100. 题解: 暴力枚举每个字母出现了多少次,再用最大的减最小的即可,注意出现次数为0的不能更新最小值。然后判断是否是个质数,注意特判0和1.#include<cstdio>#include<cstring>#include<cst原创 2016-06-23 15:39:11 · 647 阅读 · 0 评论