![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
模拟
Mr.阿Q
每天【打卡】任务日常搬砖
展开
-
Leetcode 22 括号匹配问题-用balance判断
思路:递归生成所有可能在,为了节约时间,从中加入balance,当balance为负数一定不合法,就不递归了当缺少 ( 就加入 ( ,多了就不递归了当缺少 )就加入 ),多了就不递归了当且仅当 ( 和 )的个数等于n ,且balance# include<iostream># include<vector># include<string># include<algorithm># include<math.h>...原创 2020-10-07 14:08:52 · 129 阅读 · 0 评论 -
Leetcode 29 两数相除 学习感悟
思路1:暴力减法,每次加1思路2:每次除数自身相加,res自身相加,以倍数增加//BF思路1:class Solution {public: int divide(int dividend, int divisor) {//a/b 10/3 int res = 0; if (dividend == 0)return 0;//a为0 if (divisor == 1)return dividend;//b为1 if (divisor == -1原创 2020-10-09 15:43:07 · 117 阅读 · 0 评论 -
Leetcode 10 正则表达式 模拟穷举方法求解
首先吐槽下,太恶心 了......一开始以为很简单,后来发现细节太多了......一直修修改改限制条件花了6个小时思路: 首先对于两个序列都要加上游标 sp , pp 从起点0开始如果二者相等不断下行,sp++,pp++ 【直至不相等或者越界时出来 】未越界只是不等的时候,首先要区分下面3种不等的情形 (1) s中字母与【'. '】不等,直接sp++,pp++ (2) s中字母与【' * '】不等 。(此时要考虑一下3种情况) ...原创 2020-09-30 20:25:14 · 264 阅读 · 0 评论 -
【 OJ 】 HDOJ1048 明文加密问题 [ 42 ]
Presentation Error是在看不出哪里格式错了,提交了几十次了,懒得搞了,弄了半天,我的思路就是26取模,也可以弄另外一个数组保存暗文 str[i]=s[ch[i]-'A'] 结果:STARTNS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJXENDSTARTN BTZQI WFYMJW G...原创 2018-12-15 22:48:52 · 312 阅读 · 0 评论 -
【 OJ 】 HDOJ1047 大数加法 [ 41 ]
思路大数相加,输入一系列大数,只需要不停的计算结果+输入大数就可,因此就是求2个大数相加9+9=18,可知最多进位一个....//简单的大数相加# include<iostream># include<string>using namespace std;string result, temp;string add(string a,string b) ...原创 2018-12-15 20:59:33 · 187 阅读 · 0 评论 -
【 OJ 】 HDOJ1046 旅行商TSP问题 [ 40 ]
此题虽然是水题,但是此类问题却不是一个水题从图论的角度来看,TSP问题实质是在一个带权完全无向图中,找一个权值最小的Hamilton回路。由于该问题的可行解是所有顶点的全排列,随着顶点数的增加,会产生组合爆炸,它是一个NP完全问题。 早期的研究者使用精确算法求解该问题,常用的方法包括:分枝定界法、线性规划法、动态规划法等。但是,随着问题规模的增大,精确算法将变得无能为力,因此,在后来的研究中...原创 2018-12-15 19:38:40 · 600 阅读 · 0 评论 -
【 OJ 】 HDOJ1051 动态规划最长子序列LIS类问题 [ 45 ]
思路模拟,利用l排序,先确定l小的在前,如果相等再排序w,由于是基本有序的状态,所以只要比较后面的是否w大于前面的即可利用visit记录访问,从第一个开始访问,将后面能串起来的都串起来(符合l'>l w'>w都标记已访问),直到所有都被访问,这时候记录串了几次就可。#include<iostream># include<algorithm>usin...原创 2018-12-19 21:14:30 · 170 阅读 · 0 评论 -
【 OJ 】 HDOJ1050 贪心搬桌子冲突问题 [ 44 ]
开始我的比较麻烦,最早的思路是模拟,分s,t数组录入N个数(录入让s小,t大),依次0-N读取,第一个数算第一批移动,和它不冲突的就一起移动(读取到的和可以移动的都标记为0),直到所有都是 0,记下模拟的次数。但是比较麻烦的是:假设读取第一组数,第二组数不冲突,那么第一组和第二组作为第一批,读取第三组数字的时候需要判断是否和 【第一组和第二组】冲突,这个需要打表来记录,没有网上这种直接打表后算最大...原创 2018-12-19 19:19:23 · 385 阅读 · 0 评论 -
【 OJ 】 HDOJ1049 模拟蜗牛爬出坑 [ 43 ]
这题模拟就好了....一直模拟u d 到出坑,看结果..当然最简单的还是找规律...用公式来计算...有点烦..懒得找了直接模拟AC了# include<iostream>using namespace std;int main(void) { int n, u, d; int time , distance; cin >> n >&...原创 2018-12-19 16:11:49 · 221 阅读 · 0 评论 -
【 OJ 】 HDOJ1056 模拟类问题 [ 48 ]
模拟题意即可....ummmAC代码:# include<iostream>using namespace std;int main(void) { double n,sum; cin >> n; int i; while (n) { double i= 2; sum = 0; while (sum < n) { sum += 1 ...原创 2018-12-22 13:01:00 · 217 阅读 · 0 评论 -
【 OJ 】 HDOJ1057 模拟培养皿细菌生长情况 [ 49 ]
Limit Time题意:有一个20X20的网格,每个网格里有个数字(0~3),每天网格里数字的变化是先将网格里本身的数字与其上下左右网格里数字依次相加,得到一个0~15的值k,这个值确定了题目里数组D[k],接下来我们只需要把网格里的值与D[k]相加,如果相加后的值大于3,变化后的值就为3,小于0则就为0。最后再根据题目将数字变成对应的字符。 # include<iostre...原创 2018-12-22 15:36:48 · 363 阅读 · 0 评论 -
【 OJ 】 HDOJ1058 求丑数问题 [ 50 ]
这题找规律我想了很多试了有的感觉很烦,参考了人家的思路很....OJBnice,所以我按照人家的思路写了一遍。这题就是求丑数,丑数最小的因子由2,3,5,7组成,1 被定义为最小丑数首先很重要的一点要说下,丑数一定是由丑数乘丑数所得 ( = =.)!! 丑数定义说的很明确因子只含有2,3,5,72357可以理解为这个是丑数的最小倍数,假设一个丑数x存在,那么当前丑数x可以产生的丑数...原创 2018-12-22 20:01:09 · 366 阅读 · 0 评论 -
【 OJ 】 HDOJ1059 多重背包求大理石分配问题 [ 51 ]
Time Limit Exceeded直接DFS暴搜.....死的很安详,然后写了母函数的解法,死的也很安详超时(:逃 江湖传言 sum取模60可AC多重背解未被AC关于多重背包的解法不想说啥,这里就是将承重m换成了价值v来理解筛选,用价值V来刷选最大可以筛选出Vmax及dp[V]=V,如果不等说明这个价值不可以被组合选举出来,其中多重背包二进制转化01背包也有很详细的讲解...如果不...原创 2018-12-23 14:39:28 · 240 阅读 · 0 评论 -
【 OJ 】 HDOJ1062 文本翻转 [ 53 ]
开始我真的单纯的去文本翻转了....然后没有意外的TLE后面发现.....直接倒序输出即可....Presentation Error 代码:(:逃 懒得找了格式问题#include<iostream>#include<string>#pragma warning(disable:4996)using namespace std;int main(vo...原创 2018-12-29 18:44:07 · 221 阅读 · 0 评论 -
【 OJ 】 HDOJ1064 求银行卡平均值 [ 55 ]
求平均值,注意小数点即可 (:大滑稽 感觉我也就只能做这些题了AC代码:# include<iostream>#include <iomanip>using namespace std;int main(void) { double sum=0, temp; for (int i = 0; i < 12; i++) { cin >>...原创 2018-12-31 14:44:25 · 208 阅读 · 0 评论 -
【 OJ 】 HDOJ1065 求土地被淹的时间[ 56 ]
emmm.....(:微笑AC代码:# include<iostream># include<math.h>#define PI 3.1415926#define s 100 // 半圆50 圆100using namespace std;int main(void) { //圆面积公式 πR^2 R=sqrt(x*x+y*y) 每年圆面积增...原创 2018-12-31 15:05:21 · 156 阅读 · 0 评论 -
【 OJ 】 HDOJ1045 八皇后类型摆棋子问题 [ 39 ]
有些事情耽误了,所以最近没写代码,此题我开始的思路还算正常,后来跑偏了....开始拿到这题第一反应就是八皇后问题,递归DFS,因为这题有X块限制,所以我的最初思路是:先和八皇后类似先在 . 块中放能放的,X块可以遮挡补充的地方先不考虑,当 . 块的最后一层放完后,开始考虑X块可以放的,一个X块可以遮挡四个方向...因此四向搜索(先前已经记录 行 列情况)X块列中看行的合法情况,行中看列的合法...原创 2018-12-08 12:11:40 · 270 阅读 · 0 评论 -
【 OJ 】 HDOJ1000 18年10月25日11:58 [ 1 ]
刚开始刷OJ,很烦第一次就没有AC,后来发现是由于没有用while 类似C中的while(scanf!=EOF)# include<iostream>using namespace std;int sum(int n) { int sum = 0; for (int i = 1; i <= n; ++i) sum += i; return sum;}in...原创 2018-10-25 12:01:26 · 98 阅读 · 0 评论 -
【 OJ 】 HDOJ1001 n!求和 [ 2 ]
这题没什么蛋疼了,还好2-3次也算AC了# include<iostream>using namespace std;int sum(int n) { int sum = 0; for (int i = 1; i <= n; ++i) sum += i; return sum;}int main(void) { int n; while (cin &...原创 2018-10-25 12:03:39 · 114 阅读 · 0 评论 -
【 OJ 】 HDOJ1038 根据速度公式求解 [ 35 ]
ummmm 又是一个水题.....英语不太好,看了半天题目换来的又是一个泡泡AC代码:# include<iostream># include<iomanip>using namespace std;int main(void) { //车轮直径、转数和总旅行时间。 double r, vl, t; //直径英寸 时间秒 double pi = 3...原创 2018-11-17 18:44:14 · 165 阅读 · 0 评论 -
【 OJ 】 HDOJ1037 模拟类问题 [ 34 ]
ummm...吃完饭,看这题....好多英文还不认识,噼里啪啦讲一堆....然后发现无力吐槽,太水AC代码:#include<iostream>using namespace std;//这题也太水了...int set[3];int main(void) { int wh = 168; bool isok; int index; isok = true; ...原创 2018-11-17 18:17:10 · 154 阅读 · 0 评论 -
【 OJ 】 HDOJ1036 从字符数组内scanf [ 33 ]
这题被题目意思搞了个半死.....后来发现意思为接力赛分n段跑,总距离d ,每个队伍t 的跑的时间分2段 总时间就是2个加起来 ,求平均每km的时间 (四舍五入)突然发现不会用C++从....string里面读取出来h:m:s...一个个读取取出来好烦人....参考了人家c的....尼玛一个sscanf解决了 AC代码:# include<iostream># in...原创 2018-11-17 15:51:00 · 211 阅读 · 0 评论 -
【 OJ 】 HDOJ1035 迷宫类问题模拟走向 [ 32 ]
本题也没啥说的....按照题目模拟就行了,读取到啥就怎么走,遇到边界或者循环就出,用visit记录访问过的点,然后读取的每一个点都入栈(可用数组来模拟),如果突然读取到了已经访问过的点说明进入了循环,就去数组栈中找这个重复点,之前点数目为未循环步数,之后点数目为循环数目。AC代码:#include <iostream>using namespace std;char ma...原创 2018-11-17 14:19:43 · 234 阅读 · 0 评论 -
【 OJ 】 HDOJ1034 分享糖果游戏 [ 31 ]
ummm 之前1033完全看不懂题目意思......本题模拟AC# include<iostream>using namespace std;int a[1000];bool isok(int N) { int n = a[0]; for (int i = 1; i < N; i++){ if (a[i] != n) return false; }...原创 2018-11-17 12:38:27 · 215 阅读 · 0 评论 -
【 OJ 】 HDOJ1032 根据给出的公式模拟 [ 30 ]
ummmm啥也不想说.....Consider the following algorithm: 1. input n 2. print n 3. if n = 1 then STOP 4. if n is odd then n <- 3n + 1 5. else...原创 2018-11-15 17:00:01 · 128 阅读 · 0 评论 -
【 OJ 】 HDOJ1025 二分图最大匹配 [ 24 ]
ummmm ,题目还是很好理解的,道路只要不交叉就可以了,那么很显然只要r(富裕)城市一直保持递增就好了,因为p(贫穷)城市是正常的123...n 的递增排列首先拿到这题第一思路就是DP:数组都开的比较小,因为题目50W的城市时间复杂度稳挂....然后现在....去看别人代码学习.....二分之类的O(nlogn)ummmm# include<iostream>...原创 2018-11-08 19:12:51 · 255 阅读 · 0 评论 -
【 OJ 】 HDOJ1022 车站01全排列问题 [ 21 ]
这题蛋疼......开始看题目以为只要判断是否逆序就出来了,后来发现人家网上说【并不是说必须所有的车都进站了 才可以统一按顺序出来,而是说可以先进入一辆车然后这辆车出来,然后再进下一辆车,也可以先进两辆然后出来一辆再进一辆,即何时进站何时出站都可以....】才恍然大悟....所以这题思路就很明确了,只要看出栈的顺序即可,如题目:入栈串 O1 出栈串O2 栈用STACK表示所以基本思路就...原创 2018-11-01 16:39:35 · 162 阅读 · 0 评论 -
【 OJ 】 HDOJ1021 找规律问题 [ 20 ]
开局直接WA了代码如图:# include<iostream>using namespace std;int Feibo[1000000] = {7,11};bool visit[1000000];// F(0) = 7, F(1) = 11, F(n) = F(n-1) + F(n-2) (n>=2).int Fibonacci(int n) { if (...原创 2018-10-31 19:27:12 · 209 阅读 · 0 评论 -
【 OJ 】 HDOJ1020 统计字符个数 [ 19 ]
ummm,一开始一直RE ,莫名其妙,后来发现他给的字符串检查长度在10000,我定义的只有1000ummm,下面是修改后的AC代码# include<iostream># include<string>using namespace std;char str[10002];int main(void) { int N, index, lenght, c...原创 2018-10-31 18:12:44 · 194 阅读 · 0 评论 -
【 OJ 】 HDOJ1017 根据给的公式模拟 [ 16 ]
ummm,这题目好烦人....看半天根本读不懂.....然后发现....有点水....然后竟然没有AC.........发现了没有AC的地方,case n 不是一直自增的,每次for 结束会变....下列代码已经修改,是AC的# include<iostream>using namespace std;void out(int n,int count) { co...原创 2018-10-30 19:48:19 · 160 阅读 · 0 评论 -
【 OJ 】 HDOJ1016 素数环问题 [ 15 ]
这几天全是满课.....ummmm这题已经AC ummm# include<iostream>using namespace std;//2 3 5 7 11 13 17 19 23 29 31 37 41int a[20];//最多20个数字保存下来记录顺序bool prime[39] = { ...原创 2018-10-30 16:50:00 · 166 阅读 · 0 评论 -
【 OJ 】 HDOJ1014 迷宫搜索类问题 [ 13 ]
ummmm....终于又AC了一题.....ummmmm数论不好,暂时还没搞清楚网上的方法互质,我的就是ummm暴力出奇迹,暴搜挂着机,题目意思MOD-1出MOD-1个不重复不为0数字那么就弄个bool数组来....保存是否已经被记录,被记录直接出来失败,如果没有继续按照公式搜索......# include<iostream>#include <iomanip>...原创 2018-10-27 15:13:50 · 186 阅读 · 0 评论 -
【 OJ 】 HDOJ1005 f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7 [ 6 ]
此题思路参考了别人的:f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7. 假设 A * f(n - 1)= x , B * f(n - 2)=y,f(n)= zz= (x+y)%7, x %7=7种可能 y %7=7种 所以z一共49种可能,此题呜呜依旧 WA 难受.......感觉每天在写错误代码一样的难受...# include <io...原创 2018-10-26 10:14:47 · 679 阅读 · 0 评论 -
【 OJ 】 HDOJ1008 电梯上下楼 [ 7 ]
ummmmmm , 1006 ,1007 炸了自己也没调试出来.......有点难受....上下楼梯.ummmmm按照顺序计算就好了,AC了....如果没AC就想撞墙了.....# include<iostream>using namespace std;# define n 100int a[n];int main(void) { int N; cin >...原创 2018-10-26 10:17:54 · 206 阅读 · 0 评论 -
【 OJ 】 HDOJ1004 统计气球颜色个数 [ 5 ]
此题依旧是WA ,搞不懂错在哪里,很蛋疼........思路可以参考.....跪求没有AC的原因.......每当读取到一个字符串的时候就检查一下map 的key是否有,如果有那么就原次数+1,没有就插入1次Map[key]=1;# include<iostream># include<map>using namespace std;#define N 10...原创 2018-10-26 10:04:55 · 342 阅读 · 0 评论 -
【 OJ 】 HDOJ1039 模拟类问题 [ 36 ]
ummm.....这题也是泡泡水题....判断有点烦AC代码:# include<iostream># include <string>using namespace std;char v[5] = { 'a', 'e', 'i', 'o', 'u' };// 元音'a', 'e', 'i', 'o', and 'u';//规则 1 至少一个元音 2 不...原创 2018-11-17 19:40:43 · 199 阅读 · 0 评论