ACM算法笔记
文章平均质量分 61
记录前ACMer的学习历程,日后基本不会更新
陈大维德
浙江中医药大学超气人杂货博主
展开
-
回文串
题目输入aabbccd输出1说明打乱顺序可以成为abcdcba,最少可以分为1组回文串思想这道题我们可以思考将同类的字母进行分组,由于可以随意排序,因此如果某字母是偶数,则可以直接放入老的回文串,否则就要制作新的回文串。AC代码#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<=b;++i)#define pre(i,a,b) for(int i=a;i&原创 2021-05-05 12:00:58 · 111 阅读 · 0 评论 -
2021 CCCC天梯赛补题
前言不想看请直接跳过~~~~前言+检讨:天梯赛我拉垮了,我拖了队伍后腿,我有罪。分析原因,首先是前一个星期训练量不够,没有跟上队友训练的进度,一些基础的STL的用法使用的也不熟练。第二,没有把STL用熟,或者是没有真正会用导致比赛时思路有些混乱,打断了思路的连贯性。第三,把过多时间精力消耗在Debug上,消磨了自己的心态和时间,比如L1-8这道题其实双指针就可以轻松解决的,我非耍小聪明整STL装逼,结果最后调不出来还得再用双指针,分也没拿全,我有罪,拖了全队的后腿。第四,L2的dfs用的不熟,没有原创 2021-04-27 00:35:08 · 1247 阅读 · 6 评论 -
L1-064 估值一亿的AI核心代码 (20 分) (屎山)
题目输入样例:6Hello ? Good to chat with youcan you speak Chinese?Really?Could you show me 5What Is this prime? I,don 't know输出样例:Hello ?AI: hello! Good to chat with youAI: good to chat with youcan you speak Chinese?AI: I can speak chine原创 2021-04-23 15:59:21 · 549 阅读 · 0 评论 -
L1-054 福到了 (15 分)
题目输入样例 1:$ 9 @ @@@@@@@@ @@@ @ @ @ @@@ @@@ @@@ @@@@@@@@ @ @ @@@@ @@@@@ @ @ @ @ @ @@@@@输出样例 1:$$$$$ $ $ $ $ $ $$$$$ $$$$ $ $ $$$$$$$$ $$$ $$$ $$$ $ $ $ $$$ $$$$$$$$ $ 输入样例 2:& 3@@@ @ @@@输出样例 2:bu yong dao l原创 2021-04-22 23:56:00 · 156 阅读 · 0 评论 -
L1-050 倒数第N个字符串 (15 分)
题目输入样例:3 7417输出样例:pat思想这道题其实就是进制转换,用栈解决很方便AC代码#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<=b;++i)#define pre(i,a,b) for(int i=a;i>=b;--i)#define m(x) memset(x,0,sizeof x)#define IOS ios::sync_with原创 2021-04-22 23:03:13 · 149 阅读 · 2 评论 -
L1-048 矩阵A乘以B (15 分)
学过线性代数的话有手就行·····题目输入样例1:2 31 2 34 5 63 47 8 9 0-1 -2 -3 -45 6 7 8输出样例1:2 420 22 24 1653 58 63 28输入样例2:3 238 2643 -50 173 2-11 5799 6881 72输出样例2:Error: 2 != 3AC代码#include<bits/stdc++.h>using namespace std;#define rep(原创 2021-04-21 23:28:03 · 145 阅读 · 0 评论 -
L1-043 阅览室 (20 分)
题目31 S 08:102 S 08:351 E 10:002 E 13:160 S 17:000 S 17:003 E 08:101 S 08:202 S 09:001 E 09:200 E 17:00OUPUT2 1960 01 60思想这道题就是纯模拟,根据题意解就可以了AC代码#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<=b;原创 2021-04-21 22:52:06 · 152 阅读 · 0 评论 -
1141: 松哥的困惑VII (water)
题目Sample Input24Sample Output3 3思想这道题就是把数据拆分为2的幂数与剩下的那个数···直接跑循环累加就完事了。AC代码#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<=b;++i)#define pre(i,a,b) for(int i=a;i>=b;--i)#define m(x) memset(x,0,sizeof原创 2021-04-14 22:05:03 · 117 阅读 · 0 评论 -
大数乘法 (手动模拟)
今天写题目发现大数模拟有点忘了,复习一下。其实就是对人工运算的一个模拟,没有涉及到傅立叶变换这些高端算法。算法的内核有个博主写的很明白了:大数模拟这里贴一下自己的手操模拟,记录一下。代码#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<=b;++i)#define pre(i,a,b) for(int i=a;i>=b;--i)#define m(x) memset原创 2021-04-14 21:44:26 · 194 阅读 · 0 评论 -
1711: 背包 dfs深搜
题目1711: 背包Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 315 Solved: 162[Submit][Status][Web Board]Description你有一个神奇的背包,他的容积是m(0<m<=80),只有你装满他,你才能拿走他,现在给你n(1<=n<=20)个物品Xi(Xi<=m),那么一共有几种方式,可以让你拿走背包?Input第一行 n,m第二行 n个数字Output输出方案数原创 2021-04-14 11:00:44 · 154 阅读 · 0 评论 -
ZCMU-1209: 最大面积 (dfs)
题目1209: 最大面积Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 190 Solved: 89[Submit][Status][Web Board]Description给定一个n*m的矩阵,其中有k个格子是1,其他全部是0。你的任务是告诉我最大的全部由1组成的图形的最大面积为多少?Input输入包括多组测试数据,第一行为三个正整数n,m,k,(1<=n,m<=100,1<=k<=n*m),接下来k行,每行有两个原创 2021-04-11 23:41:58 · 427 阅读 · 1 评论 -
1143: 又是比智力 (贪心思维)
这道题目WA是硬模拟,但是有一点没想到就会一直WA下去···题目1143: 又是比智力Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 2091 Solved: 421[Submit][Status][Web Board]Description松哥上了数学课之后,觉得自己智力实在有所不足,所以他决定找人辩论,以提高自己的智力,已知松哥目前的智力是m,他决定和n个人辩论,如果他对手的智力低于他,松哥的智力能够提升2,否则只能提升1,假设松哥能够取得所原创 2021-04-11 13:35:33 · 309 阅读 · 0 评论 -
H - Mr. Hamra and his quantum particles (并查集裸题)
比赛打到一半溜了···没发现是个裸题···大意了啊大意了···题目ExampleInput13 1 41 21 22 33 12 2Output1001AC代码#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int i=a;i<=b;++i)#define pre(i,a,b) for(int i=a;i>=b;--i)#define m(x) memset(原创 2021-04-11 12:40:42 · 133 阅读 · 0 评论 -
求最长上升子序列及个数 Hasan and his lazy students
题目直达链接:VjudgeInput351 3 2 3 131 2 371 5 6 2 1 4 1Output3 13 13 2思想这道题是最长子序列的板子题,不清楚最长子序列的同学可以点这,这个博主写的很详细–>最长子序列这里就把我自己的板子放在这里,以供参考和使用AC代码#include<bits/stdc++.h>using namespace std;#define INF 0x3f3f3f3fconst int base = 13原创 2021-04-11 12:12:55 · 184 阅读 · 0 评论 -
G-Traffic模拟(小心数组大小)
这道题数组开小了会WA,建议开3e3+10;题目Sample Input1 1111 221 3Sample Output10思想与解释这道题告诉你东西南北两个垂直的道路上,有两列单向行驶的车流(比如东向西,北向南),给你东西方向的车子数量n,南北车子的数量n,下面两行分别是n个数据和m个数据,标记着a[i]和b[i]时刻有车子。而且南北车子必须让着东西方向的车子(也就是说如果出现东西方向1时刻有车,南北方向1时刻也有车,那么东西先开,南北方向的等待一分钟),题目问的就是两原创 2021-04-11 00:14:43 · 2633 阅读 · 4 评论 -
统计一个十进制数的二进制一的个数奇淫技巧
引子:今天打日常训练赛的时候有道题是求给定n个数的二进制一的个数,给的数据是int,原本想着打表快速过的,后来发现1e9还不如写自定义。结果直接暴力过了····晚上补题收集了几种求二进制一个数的技巧。题目ExampleInput251 2 3 4 542 4 8 16Output1 1 2 1 21 1 1 1暴力写法#include<bits/stdc++.h>using namespace std;#define rep(i,a,b) for(int原创 2021-04-10 23:30:19 · 123 阅读 · 0 评论 -
1050: 半情歌的密码 (简简单单的栈模拟)
题目1050: 半情歌的密码Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 1091 Solved: 524[Submit][Status][Web Board]Description“呀( ⊙ o ⊙ )!密码又忘了”,你是不是跟我一样,经常忘记密码呢?我要记住QQ密码,淘宝密码,人人密码,百度密码,微博密码,各大OJ登陆密码,银行卡密码,手机开机密码,笔记本开机密码,CMCC-EDU连接密码,上网验证密码。为了记住那么多密码,我只能把他们全设成原创 2021-04-10 10:11:17 · 263 阅读 · 0 评论 -
RSSI fingerprinting (模拟,水)
题目Sample Input2578:44:76:F3:95:BE -43 138080:1F:02:BA:90:3E -85 532E8:CC:18:F2:4A:48 -71 336F8:35:DD:B8:CE:92 -83 972BC:99:11:62:23:E7 -83 5282E8:CC:18:F2:4A:48 -81 1336FA:45:DD:B8:FE:72 -63 972Sample OutputE8:CC:18:F2:4A:48 -71BC:99:11:62:原创 2021-04-09 14:07:01 · 126 阅读 · 0 评论 -
Ice-T 模拟题
这道题是前几天训练赛的题目,我自己写的时候没有考虑到数据为1e9范围开了数组炸了,结束后队友告诉我可以采用map的方法,之前没有咋了解map用法,借此机会顺便也学习了一下。如果你没学过map等STL,可以来这看–>STL方法题目ExampleInput115 107 67 47 21 83 81 63 62 42 65 8Output3思想这道题首先给你一个定义告诉你什么是”T“数—满足一条线上有三个等距离的点且中间点与自己所在的垂直线上有点,连起来就是原创 2021-04-06 21:43:30 · 258 阅读 · 0 评论 -
ZCMU-1716: 棒棒糖
题目ZCMU-17161716: 棒棒糖Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 223 Solved: 92[Submit][Status][Web Board]Description有一天,zhizhang骚年去买棒棒糖,他买了n个棒棒糖,每个棒棒糖都有ai的甜度。现在骚年开始吃每根棒棒糖,如果骚年先吃棒棒糖的甜度小于接下来吃的棒棒糖的甜度,那么他就会汪汪叫一声。所以,你就想调戏他,你就想找出一个顺序使他叫的次数最多。Input多组原创 2021-04-05 17:00:22 · 181 阅读 · 0 评论 -
ZCMU-1725: 关于矩阵
爷吐了···先是没加文件多组持续输出WA了一发,然后cin忘记改成scanf又T了····(下次加速看看)题目ZCMU-17251725: 关于矩阵Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 319 Solved: 127[Submit][Status][Web Board]Description一个N*M的矩阵A(| A[i][j] |<=10^3),有3种操作add i,j,val : 把矩阵A[i][j]位置加上val(原创 2021-04-04 21:09:53 · 209 阅读 · 1 评论 -
AD 2020日期模拟
这道题就是个细节模拟,细节还是有点多的,要小心(主要是几个情况要想全)目录题目解释和思路AC代码题目2020 is the current year and is a leap year starting on Wednesday of the Gregorian calendar, the 2020th year of the Common Era (CE) and Anno Domini (AD) designations, the 20th year of the 3rd millennium,原创 2021-04-04 20:20:27 · 251 阅读 · 2 评论 -
ZCMU-1803: 2n皇后问题
昨天打了ICPC Kuming(真就签完道就是成功···)今天累了,来一道bfs遍历枚举的题目做做吧。目录题目想法模块解释1.check当前位置是否可以放棋子2.遍历搜索的过程3.主函数AC代码题目ZCMU-18031803: 2n皇后问题Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 46 Solved: 37[Submit][Status][Web Board]Description给定一个n*n的棋盘,棋盘中有一些位置不能放皇后。现在原创 2021-04-04 19:53:25 · 299 阅读 · 1 评论 -
奖牌颁发(模拟)
其实这道题是个签到模拟,但是我因为小细节错了没有第一次AC,后来hack了数据debug才找出来有俩个地方代码顺序交换错误了····题目Sample Input10600 600 600 600 600 600 600 600 500 550Sample Output0 0 0 0 0 0 0 0 2 2题解这里首先要注意输出格式,是不换行的···我当初第一发PE炸掉···题目意思很简单,就是先把牌子数按照比例计算好,如何根据得分情况分牌子。直接跑模拟就好了,就是要注意存储数据的三原创 2021-04-01 15:00:32 · 246 阅读 · 0 评论 -
ZCMU-1927: 签到题 =。=
emmmm这道题有点坑人····题目1927: 签到题 =。=Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 74 Solved: 29[Submit][Status][Web Board]DescriptionIn a BG (dinner gathering) for ZCMU ACM team, the coaches wanted to count the number of people present at the BG. They原创 2021-03-31 19:33:56 · 153 阅读 · 0 评论 -
骷髅军团 (模拟)
题干Sample Input25 1 3 2 1 39 1 3 2 1 3Sample OutputYesNo想法这道题要模拟骷髅对公主塔的攻击。我们可以把骷髅的攻击动态累加,(在累加的过程中公主塔对骷髅有攻击,因此骷髅数量是线性减少的),那么累加到t之前,只要总攻击量大于等于公主塔血量,则输出Yes假设公主杀死一个骷髅需要m次,那么m如何计算呢?m = h / atk;if(h%atk!=0)m++;那么m下就能杀死一个骷髅。那么前m秒造成的伤害就是man,m+1到2原创 2021-03-31 19:14:11 · 179 阅读 · 0 评论 -
大蒜数
题目5156: 大蒜数Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 54 Solved: 40[Submit][Status][Web Board]Description如果一个数任意相邻两位均是质数,我们称之为 大蒜数。最小的大蒜数是两位数 11。蒜头君想知道 K位数的大蒜数有多少个。Sample Input5Sample Output372思路建立一个dp数组,横坐标存储i位,纵坐标存储以j结尾的质数。然后根据动态规划便利原创 2021-03-30 20:15:42 · 311 阅读 · 0 评论 -
ZCMU-1428: Bit++ (水)
题目1428: Bit++Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 187 Solved: 144[Submit][Status][Web Board]DescriptionThe classic programming language of Bitland is Bit++. This language is so peculiar and complicated.The language is that peculiar as it原创 2021-03-27 17:36:37 · 173 阅读 · 0 评论 -
ZCMU-1203 逆序数
逆序数有两道题,第一道数据小,暴力可以直接过,这个就不行了,需要用到归并排序归并排序没学过的同学可以看我另一篇博客归并排序整理题目1203: 逆序数Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 737 Solved: 166[Submit][Status][Web Board]Description在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数不小于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。原创 2021-03-27 11:41:23 · 225 阅读 · 0 评论 -
归并排序整理
归并排序的定义归并排序是一种稳定的排序算法,相对其他排序算法而言,是一种速度比较快的算法,时间复杂度为 O ( n × l o g ( n ) ) O(n \times log(n))O(n×log(n)),但是需要损耗空间,其空间复杂度为 O ( n ) O(n)O(n) ,即需要一个额外的数组进行对子数组进行排序。我们知道排序有很多种,学过了冒泡,对分等排序后,其实还有一种像是冒泡和对分的结合体的排序,归并排序。归并排序的思想用四个字总结就是—分而治之:所谓分而治之,就是将一串乱序的数据先按一定原创 2021-03-27 11:04:55 · 1169 阅读 · 5 评论 -
ZCMU-1345: 国际象棋
这道题目有个坑踩到了,就是我没玩过国际象棋,以为斜着走只能走斜率为正负1的直线走一次。。。题目1345: 国际象棋Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 224 Solved: 75[Submit][Status][Web Board]Description国际象棋的棋盘是黑白相间的8 * 8的方格,棋子放在格子中间。王、后、车、象的走子规则如下:王:横、直、斜都可以走,但每步限走一格。后:横、直、斜都可以走,每步格数不受限制。车原创 2021-03-26 22:41:35 · 199 阅读 · 0 评论 -
ZCMU-1201翻纸牌游戏
题目1201: 翻纸牌游戏Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 168 Solved: 51[Submit][Status][Web Board]Description有一种纸牌游戏,很有意思,给你N张纸牌,一字排开,纸牌有正反两面,开始的纸牌可能是一种乱的状态(有些朝正,有些朝反),现在你需要整理这些纸牌。但是麻烦的是,每当你翻一张纸牌(由正翻到反,或者有反翻到正)时,他左右两张纸牌(最左边和最右边的纸牌,只会影响附近一张)也必须跟着翻原创 2021-03-25 22:55:06 · 315 阅读 · 0 评论 -
算法的魅力!通过公式逆圆快速缩短时间
题目1202: 3的幂的和Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 345 Solved: 32[Submit][Status][Web Board]Description求:3^0 + 3^1 +…+ 3^(N) mod 1000000007。Input每行一个整数N(0 <= N <= 10^9)Output输出:计算结果Sample Input3Sample Output40HINT(a/b)%c=(原创 2021-03-24 23:11:50 · 204 阅读 · 0 评论 -
ZCMU-1122 取石子博弈II(巴式博弈)
题目1122: 取石子游戏IITime Limit: 1 Sec Memory Limit: 128 MBSubmit: 367 Solved: 203[Submit][Status][Web Board]Description一堆石子有n个,两人轮流取.每次取最少取1个,最多取m个。取完者胜.先取者负输出"Second win".先取者胜输出"First win"Input多组测试数据。每组测试数据包含2个正整数n,m。(n,m<=10000000)Output对于每组测试原创 2021-03-24 21:24:58 · 194 阅读 · 1 评论 -
ZCMU-1129一不小心爱上你(公式水题)
题目1129: 第五章:一不小心爱上你Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 661 Solved: 176[Submit][Status][Web Board]DescriptionO型血的人大多数是行动派,郑微更是将这个特征发挥到了极致。次日上课,阮阮前所未有地发现她在课堂上奋笔疾书,大为惊讶,便凑过去问了一声,“在写什么呀?”郑微大大方方地向阮阮展示了她一早上的智慧结晶,阮阮看了看,“俘虏陈孝正详细行动攻略……”她念完,顿时无语。挺漂原创 2021-03-24 19:35:40 · 255 阅读 · 0 评论 -
LCA On N-ary Tree题解
浙大城院的训练赛前4道是水题,40min可以直接砍掉。接着LCA这道题其实上一次ICPC里出现过,是一道模拟题。现在采用队友的代码学习一下题目链接:https://ac.nowcoder.com/acm/contest/12986/D来源:牛客网The N-ary tree is a tree that each node has exactly n child nodes.You are given an N-ary tree with infinite nodes, each node is原创 2021-03-24 15:21:39 · 175 阅读 · 0 评论 -
ZCMU-1979: 过分的谜题
题干1979: 过分的谜题Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 141 Solved: 99[Submit][Status][Web Board]Description2060年是云南中医学院的百年校庆,于是学生会的同学们搞了一个连续猜谜活动:共有10个谜题,现在告诉所有人第一个谜题,每个谜题的答案就是下一个谜题的线索…成功破解最后一个谜题后,答案就是指向奖励的线索在所有同学们的努力下,全校同学们获得了最后一个谜题,这个谜题有几十张纸,原创 2021-03-22 22:46:06 · 189 阅读 · 1 评论 -
ZCMU-1306: 狐狸分肉
题目1306: 狐狸分肉Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 181 Solved: 97[Submit][Status][Web Board]Description从前有两只贪婪的小熊,有一天他们发现两块质量分别为A和B的肉。小熊是如此的贪婪所以他们都想要大的那块肉。就在这个时候一只狐狸经过并告诉小熊我可以帮你们平分这两块肉。如果一块肉的质量是2的倍数,那么狐狸可以一次吃掉一半的肉。如果一块肉的质量是3的倍数,那么狐狸一次可以吃掉三分之原创 2021-03-22 21:08:31 · 213 阅读 · 0 评论 -
A-拼三角 (就这暴力都能过?)
无语子,原本以为有优化算法的,结果暴力直接可以····数据小罢了,ICPC肯定不会这样出的(确性脸)题目给出6根棍子,能否在选出3根拼成一个三角形的同时剩下的3根也能组成一个三角形?输入21 1 1 1 1 11 2 3 4 5 6输出YesNoAC代码#include<bits/stdc++.h>using namespace std;#define ll long longll a[10];ll b[10];ll c[10];int main(){原创 2021-03-20 23:52:06 · 187 阅读 · 0 评论 -
J-统计个数
牛客小白月赛暴力题(感觉很多题目都能用暴力直接开,但是我这道题貌似逻辑炸了?)题干题目描述给出一张N个点M条边的图,假设图中有三个节点分别为a,b,c,若点a和点b之间有边并且b和c之间有边的话,我们就称(a,b,c)为一条线,同时视(c,b,a)和(a,b,c)为同一条线,而对于其他的组合则认为是和(a,b,c)不同的线。如果(a,b,c)是一条线并且点a和点c之间也有边的话,我们称(a,b,c)构成一个三角,同理我们视由这三个点组成的三角为同一个三角,即(a, b, c)、(a, c, b)、原创 2021-03-20 23:24:49 · 101 阅读 · 0 评论