![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟
JinxiSui
退役ACMer
展开
-
CodeForces 660D - Number of Parallelograms ( 模拟 )
题意给出n个点, 输入保证没有重复点, 且不会有三点共线, 求这些点能够构成的平行四边形的个数思路最后B题还有半个来小时没考虑全瞎瘠薄写没过 赛后补B题发现人家全用向量做的 我居然用的长度和斜率跑了2000+ms真的是太傻逼了大概就是用n*n跑一遍点, 枚举出所有可能组成的边(以向量形式存储), 若有两个向量完全相同则他们能构成一个平行四边形. 自己写的时候傻逼了, 用的...原创 2018-04-26 20:36:53 · 182 阅读 · 0 评论 -
UVa 1594 - Ducci Sequence
题意 对于一个n元组(a1, a2, …, an),可以对于每个数求出它和下一个数的差的绝对值,得到一个新的n元组(|a1-a2|, |a2-a3|, …, |an-a1|)。重复这个过程,得到的序列称为Ducci序列,例如: (8, 11, 2, 7) -> (3, 9, 5, 1) -> (6, 4, 4, 2) -> (2, 0, 2, 4) -> (2...原创 2018-01-29 14:08:56 · 193 阅读 · 0 评论 -
UVa 814 - The Letter Carrier's Rounds
题意模拟mta发送邮件 模拟的我头皮发麻记录有个挺骚的操作记下来了, 有点意思string text;while(getline(cin, s) && s[0] != '*') text += " " + s + "\n";AC代码#include <iostream>#include <...原创 2018-02-04 21:17:01 · 316 阅读 · 1 评论 -
UVa 221 - Urban Elevations
题意城市俯视图 给出坐标,长宽高, 求从南向北(朝着y周正方向)看, 正视图能看到的楼号思路因为坐标可能会有double类型的, 所以没法枚举每一个横坐标 这里引用一下紫书的思路 记得控制一下格式 把所有x坐标排序去重,则任意两个相邻x坐标形成的区间具有相同属性,一个区间要么完全可见,要么完全不可见。这样,只需在这个区间里任选一个点(例如中点),就能判断出一个建筑物是否...原创 2018-02-05 16:11:12 · 186 阅读 · 0 评论 -
UVa 1590 - IP Networks
题意给出几个IP地址 找最小的范围使得输入全部包含在范围之中 输出该范围的最小IP地址和子网掩码将ip地址和子网掩码看作二进制 子网掩码前32-n位均为1, 后n位为0 对应ip地址范围前32-n位相同, 后n位可以不同AC代码#include <iostream>#include <algorithm>#include <cstd...原创 2018-02-07 12:46:12 · 227 阅读 · 0 评论 -
UVa 101 - The Blocks Problem
题意模拟木块的四种操作 move a onto b:把a和b上方的木块全部归位,然后把a摞在b上面。 move a over b:把a上方的木块全部归位,然后把a放在b所在木块堆的顶部。 pile a onto b:把b上方的木块全部归位,然后把a及上面的木块整体摞在b上面。 pile a over b:把a及上面的木块整体摞在b所在木块堆的顶部。思路简...原创 2018-02-09 20:22:51 · 141 阅读 · 0 评论 -
UVa 246 - 10-20-30 ( deque模拟 )
题意有一叠52张的扑克牌(除去大王小王), 每次在总叠堆里拿出最上面的一张, 分别放在1-7叠堆的最下面. 如果放下这张牌之后, 小叠堆的最上面2张+最下面1张 / 最上面2张+最下面1张 / 最下面3张 的和为10或20或30, 则将这三张牌抽出来并放到总叠堆的最下面. 如果抽出这三张牌之后, 该小叠堆没有排了, 那么这个叠堆消失, 所有右面序列的叠堆左移.求这个游戏是win(小叠堆全部...原创 2018-03-08 16:45:21 · 222 阅读 · 0 评论 -
UVa 11491 - Erasing and Winning ( 优先队列模拟 )
题意给出一个长度为n的数字串, 要求删去d个数字, 使得剩下的总数字最大 (1 ≤ d < n ≤ 10^5 ) 思路根据贪心策略, 越高位的数字越大越好. 但取高位数字时同时要保证剩余量能够满足一共选出n-d个数字 考虑到用优先队列 但同时要记录下刚才取出的数字所在位置, 每次把队列中位置在上次选出数字所在位置之前的元素弹出AC代码#include...原创 2018-04-03 14:35:58 · 179 阅读 · 0 评论 -
HDU 5867 - Water problem ( 模拟 )
题意one:3个字母,two:3个字母,three:5个字母…..求到n<=1000,1—1000所有单词字母数量的和 For example, 342 (three hundred and forty-two) contains 23 letters and 115 (one hundred and fifteen) contains 20 letters. The use o...原创 2018-04-23 09:21:32 · 115 阅读 · 0 评论 -
UVa 10391 - Compound Words
题意按字典序输入一些单词, 查找单词是否是由两个单词复合而成的并将复合单词输出 例如 ab + normal = abnormal思路用 vector< string> 存下string 题给数据范围120,000单词, 全部暴力枚举一遍复杂度肯定高了 考虑到因为输入是按字典序的 那么可以记录下每个字母开头的下标范围 ( 这里用到两个标记数组 m[30], ...原创 2018-01-27 22:40:08 · 118 阅读 · 0 评论 -
UVa 10763 - Foreign Exchange
题意交换生,每个人有起始地和目的地,交换需要满足的条件是如果一个学生要从1交换到2,则必须有另一学生从2交换到1处,才能完成交换 Input 2 1 2 2 1 2 1 2 1 2 0 Output YES NOTLE代码之前考虑用map< pair< int,int >, int > ...原创 2018-01-27 15:56:41 · 211 阅读 · 0 评论 -
UVa - 253 Cube painting ( 模拟 )
模拟题意 给骰子涂色,用rbg表示颜色,骰子可以通过旋转变成一致 [ UVA - 253 (VJ) ]思路 一开始思路很卡,枚举有误,借鉴了大神的思路才过 模拟骰子,固定两个面为底面不动(6种情况),剩下四个面旋转(4种情况),即可模拟枚举出4*6=24种情况AC代码#include <stdio.h>#in...原创 2017-12-17 16:36:14 · 423 阅读 · 0 评论 -
SDUSTOJ 1184 - 蛇形填阵
题目 Description 将1~n*n填入一个n*n的矩阵中,并要求成为蛇形。蛇形即是从右上角开始向下,向左,向上,向右,循环填入数字。 比如n=5时矩阵为: 13 14 15 16 1 12 23 24 17 2 11 22 25 18 3 10 21 20 19 4 9 8 7 6 5 Input 输...原创 2017-12-23 10:16:19 · 461 阅读 · 0 评论 -
SDUSTOJ - 1063 提取缩略词( 简单的字符串处理 )
Description 在英文文献中,尤其是专业文献中,经常有很多的缩略词,如CPU代表Central Processing Unit等。为了方便学习,Qili决定从一批英文论文中提取出所有的缩略词以及它们的全称。 经过初步判断,这些文章的缩略词都是以全部大写字母的形式出现,而且每个缩略词之后会有一个空格,之后是它的全称。全称使用“()”括起来,左括号跟它后面的单词之间没有空格,...原创 2017-12-31 17:13:23 · 629 阅读 · 0 评论 -
SDUSTOJ 1191 - 剪子包袱锤游戏 ( 结构体 函数的巧妙应用 )
Description Tom、Jack和Mary三人在同一个小学上学,又住在同一个小区。所以每天上学、放学的路上,他们都玩一些小游戏。某天,三人玩剪子包袱锤(Scissors-Paper-Rock)。每人随机出一种,然后决定胜出者和失败者。 现在,请你编程,判断每次游戏的结果。 Input 输入为多行。第一行 含有2个数字M和N,其中0 < M < 10...原创 2018-01-06 16:44:55 · 980 阅读 · 1 评论 -
UVa 512 - Spreadsheet Tracking
水题 感觉操作数组删行添行比较麻烦 可以把操作步骤存储下来, 每次搜索时逐步操作即可#include <iostream>#include <cstring>#include <cstdio>using namespace std;const int maxn = 60;struct command{ char c[5]; ...原创 2018-01-21 18:07:05 · 159 阅读 · 0 评论 -
UVa 202 - Repeating Decimals
每次记录被除数 , 当出现相同被除数时即出现一个完整循环节#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int maxn = 1000;char s[maxn];char cyc[maxn];int mo[100000];...原创 2018-01-22 17:47:23 · 176 阅读 · 0 评论 -
UVa 400 - Unix ls
每行最多60个字符 在尽量少的行中将字符串按字典序向下输出#include <iostream>#include <algorithm>#include <cstring>#include <cstdio>using namespace std;const int maxn = 100;struct ceil{ c...原创 2018-01-22 17:49:34 · 300 阅读 · 1 评论 -
UVa 1592 - Database
题意寻找PNF表格 如果是PNF表格, 输出一行”YES” 如果有某两行两列字符串相同, 则不是PNF表格, 那么只输出三行 第一行 : “NO” 第二行 : 非PNF的所在行c1,c2 第二行 : 非PNF的所在列r1,r2思路用getchar() 读字符(读到’,’)到string中, 这里用个结构体或者二维都行, 个人比较喜欢结构体. 用map映射, 建函数geti...原创 2018-01-25 23:58:11 · 121 阅读 · 0 评论 -
HDU 5857 - Median ( 查询模拟 + 思路 )
题意给出一个长度为n的递增数组A, 给出m个查找, 查找方式 : 给出l1, r1, l2, r2, 使得数组A中的A[l1], A[l1+1], ……, A[r1-1], A[r1] 和 A[l2], A[l2+1], ……, A[r2-1], A[r2]组成新的数组, 求这个新数组的中位数For 90% of the data, n, m <= 100 For 10% of...原创 2018-04-23 22:04:50 · 183 阅读 · 0 评论