![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
模拟
文章平均质量分 50
模拟
王江奎
这个作者很懒,什么都没留下…
展开
-
UVA - 442:Matrix Chain Multiplication
题目链接:https://vjudge.net/problem/UVA-442题目分析题目的意思非常简单,就是给定一个矩阵乘法的表达式然后计算就可以了。随便写写AC代码#include <iostream>#include <deque>#include <vector>#include <string>#include <unordered_map>using namespace std;int ans;class M原创 2021-10-23 21:53:57 · 124 阅读 · 0 评论 -
UVA - 514:Rails
题目链接:https://vjudge.net/problem/UVA-514题目分析题目的意思是给一个栈输入一系列数据,在这个过程中可以出栈,看能否达到某个结果。刚开始我觉得这个情况好多,因此不是用模拟,而应该观察结果本身。对于结果中某个元素x,比他小的元素肯定已经入过栈了,此时可能有两种去处:已经在结果里面了还在栈里面对于1.,只能说它比x 小而且在x的前面,除此之外没有其他约束了。对于2.,那些比x小的元素在结果中的位置肯定在x的后面,而且肯定是逆序排列。因为只能进栈一次,而他们是从原创 2021-10-21 17:08:58 · 300 阅读 · 0 评论 -
UVA - 210:Concurrency Simulator
题目链接:https://vjudge.net/problem/UVA-210题目分析就是一道模拟题,但是细节有点多。写代码两个小时,调试代码用了两天。。。很长时间不刷题了,这道虽然算法简单但是细节满满的题目对我来说是一个很好的热身。尽量不要去使用匿名名字空间,发现对调试过程不怎么友好(陈硕大大说的对)。使用枚举类型对程序的可读性、可维护性的提升非常大重载输入输出运算符的时候一定要记得返回stream对象这种带有switch语句的,可以使用Stragety模式,这里没有使用,因为每条语句只有原创 2021-10-20 22:53:51 · 265 阅读 · 0 评论 -
75 颜色分类
题目已经提示可以一遍扫描了但是我还是没有想到,其实双指针的想法我已经有了,但是一想到有问题就觉得无法实现。这也揭示了我思维上的问题:用一种方法解决问题遇到困难第一件事情不是想着如何攻克而是想着换一种方法。对自己的思维也不自信。我自己简单了写了一个两遍扫描的程序:class Solution {public: vector<int> cnt; void sortColors(vector<int>& nums) { cnt.resize(3,原创 2020-10-08 10:37:05 · 121 阅读 · 0 评论 -
UVa11809
【题目描述】传送门【题目分析】终于把这道题做完了,之前一直连题意都看不懂。实在不行上网找了一下大佬的博客,看懂题意后自己写,发现读入很难处理,就又学习了一下大佬的读入方法,用的是C++里面的sstream,很巧妙。主要就是一个打表。因为数据情况很少而且给定,所以打表就能解决。还需要注意用到两边取对数,因为阶码部分的位数很大,根本不可能存下。【AC代码】#include<cstd...原创 2019-09-16 22:00:41 · 367 阅读 · 0 评论 -
UVa120
相当于是一个模拟,为了得到合适的顺序,我们的策略是每次找到当前没有被翻的里面最大的,然后把他翻到最前面,然后再翻到合适的位置。需要判断一下当前是否已经有序,有序就不用翻了。如果在最开头找到了合适的当前应该翻的应该不翻,因为最开头不需要。#include<cstdio>#include<cstring>#include<cstdlib>#include...原创 2019-09-26 22:40:11 · 270 阅读 · 0 评论 -
UVa1152
题意很好理解,就是从四个集合里面取出四个数字的和为0,问有多少种取法。直接枚举肯定是会超时的,所以得想办法优化一下。我们可以将两个集合的所有的和都放在一个数组里面,这样得到两个数组,然后排序,对第一个数组中的每一个数据在第二个数组中用lower_bound 和upper_bound查找计数。有了思路不是很难写,重要的还是这种将可能的结果映射在数组上然后进行二分的思想。书上说的是把其中两个集合的...原创 2019-09-26 23:37:49 · 265 阅读 · 0 评论 -
UVa11054
挺简单的小模拟。还是要注意思维的方向,要有切入点,不能像无头苍蝇一样东想一下西想一下,而应该分析问题的性质,然后尝试思维的方向,从不同的方向思考(顺序,逆序,排序后,建图,贪心,dp,搜索等等)时刻注意数据的范围,时刻提防爆long long ,不注意往往死的莫名其妙的#include<cstdio>#include<cstring>#include<cst...原创 2019-09-26 23:55:05 · 184 阅读 · 0 评论 -
UVa1262
算是一个模拟吧#include<cstdio>#include<cstring>#include<algorithm>#include<climits>#include<cctype>#include<queue> #include<set>#include<vector>using...原创 2019-10-01 17:21:15 · 130 阅读 · 0 评论 -
UVa1588
【题目描述】传送门【题目分析】刚开始想了一会没有想到什么很好的算法,看到了长度最多为100,就知道自己想的没有什么意义了,直接暴力,把每一种填法都试一下就知道了。适当剪枝一下(一个简单的乐观函数)【AC代码】#include<cstdio>#include<cstring>#include<cstdlib>#include<algorith...原创 2019-09-11 20:15:28 · 145 阅读 · 0 评论 -
UVa1587
【题目描述】传送门【题目分析】刚开始想简单了,认为只要相对的面相等就可以了。然后发现三个不同方向的面的边应该有相等的关系,即如果两个面公用一条边,那么这两个面的另外两条边就是另一个面的两条边。而且这三个量里面肯定有一个最小的,这个最小的边是每个面的较小值,因此只需要比较每个面的较小值,如果较小值相等再判断其他两条边,这样就可以省去很多不必要的比较。【AC代码】#include<cs...原创 2019-09-11 19:17:26 · 137 阅读 · 0 评论 -
UVa340
【题目描述】传送门【题目分析】题目理解以后十分简单,但是这题面实在让人自闭,这么简单的题目啦啦啦啦说了那么多,实在是看不懂。(幸亏我看了书理解了题目的意思,要不然。。)还是要锻炼自己的读题能力。马达马达大内。【AC代码】#include<cstdio>#include<cstring>#include<cmath>#include<algo...原创 2019-08-28 16:36:52 · 113 阅读 · 0 评论 -
UVa1583
【题目描述】传送门【题目分析】我以为很简单就写了一个暴力没有想到超时了。应该是T是非常大的所以必须得打表,将所有的结果都储存起来然后直接输出。以后遇到这种可以一下算出所有结果的多组数据最好还是算出所有的结果然后再输出答案。【AC代码】#include<cstdio>#include<cstring>#include<cmath>#include...原创 2019-08-28 16:57:36 · 138 阅读 · 0 评论 -
UVa1584
【题目描述】传送门【题目分析】也是一道简单的模拟题,1A嘿嘿嘿。再看书发现和书上的做法差不多。【AC代码】#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>#include<queue>#include<cstdlib>...原创 2019-08-28 17:13:22 · 257 阅读 · 0 评论 -
UVa227
【题目描述】传送门【题目分析】题目的意思很简单,只是输入输出很毒瘤,我一开始用的fgets然后用scanf(" ")吃掉所有的空格和换行,可是这样有可能将迷宫的空格吃掉(例如这个空格恰好在第一行第一列)。然后改用getchar需要注意的是最后一个样例最后不能有换行,每两个样例输入之间可能有多余的换行,需要处理掉。【AC代码】#include<cstdio>#includ...原创 2019-09-03 21:49:06 · 239 阅读 · 0 评论 -
UVa232
[题目描述]传送门[题目分析]简单的模拟,注意细节[AC代码]#include<cstdio>#include<cstring>#include<algorithm>#include<climits>#include<cctype>#include<queue>#include<set>u...原创 2019-09-08 15:14:52 · 163 阅读 · 0 评论 -
UVa1368
[题目描述]传送门[题目分析]乍一看好像有点复杂,稍微思考一下只需要找到每个位置中最多的碱基.如果相等的话优先输出字典序小的.[AC代码]#include<cstdio>#include<cstring>#include<algorithm>#include<climits>#include<cctype>#inclu...原创 2019-09-08 15:47:15 · 203 阅读 · 0 评论 -
UVa202
[题目描述]传送门[题目分析]就是一个模拟,不过稍微有点小复杂,而且输出格式有点小毒瘤.不过只是RE了两发,PE了一发就过了,还是很开心.需要注意数组要开很大,可能循环节出现在很后.每个输出样例应该输出一个空行,最后面也应该有,不然会PE[AC代码]#include<cstdio>#include<cstring>#include<algorith...原创 2019-09-08 17:09:47 · 209 阅读 · 0 评论 -
UVa10340
【题目描述】传送门【题目分析】求字串,最好还是处理母串,每次找到一个子串就加1,这样处理不用处理细节【AC代码】#include<cstdio>#include<cstring>#include<cstdlib>#include<algorithm>#include<iostream>#include<cmath...原创 2019-09-10 23:48:21 · 92 阅读 · 0 评论 -
UVa401
【题目描述】传送门【题目描述】嘻嘻,自己做直接AC还是比较开心的。当然有一部分原因是之前看书的时候详细看过这个题的代码,但是这已经快一年了,应该说做出这道题凭借的是自己的能力吧。回过身去看了一下书中的代码发现自己写的不算复杂。就是一个简单的模拟。需要注意的是表里面没有给数字0对应的符号(不会出现),但是自己在根据是数字还是字符进行判断的时候需要按照自己定义的常量数组进行计算,比如我的把0对...原创 2019-08-28 15:46:09 · 229 阅读 · 0 评论