- 博客(72)
- 收藏
- 关注
原创 csp 元素选择器
具体细节在代码中。#include<iostream>#include<string.h>#include<string>#include<sstream>#include<vector>#include<stack>using namespace std;struct node{ string name,tag; int level; node* parent; node(string n,string t,.
2020-06-07 16:35:26
337
原创 week16实验 C宇宙狗的危机
样例输入1:163 6 9 18 36 108样例输出1:Yes样例输入2:227 1794 8 10 12 15 18 33 44 81样例输出2:NoYes模拟课上的时候看到这题就没什么头绪,课下看了别人的代码才懂的。区间DP,can_l[i][j]表示[i,j-1]是否可以作为j的左子树,can_r[i][j]表示[i+1,j]是否可以作为i的右子树,can_l[i][i],can_r[i][i]均为1,因为当i的左右子树为空时是符合的。转移方程:if(g[l-1
2020-06-07 13:06:20
281
原创 week16 实验A TT数鸭子
题目:这一天,TT因为疫情在家憋得难受,在云吸猫一小时后,TT决定去附近自家的山头游玩。TT来到一个小湖边,看到了许多在湖边嬉戏的鸭子,TT顿生羡慕。此时他发现每一只鸭子都不 一样,或羽毛不同,或性格不同。TT在脑子里开了一个map<鸭子,整数> tong,把鸭子变成了 一些数字。现在他好奇,有多少只鸭子映射成的数的数位中不同的数字个数小于k。输入描述:输入第一行包含两个数n,k,表示鸭子的个数和题目要求的k。接下来一行有n个数,aia_iai,每个数表示鸭子被TT映射之后的值。输
2020-06-07 11:32:51
392
原创 week16 实验B ZJM要抵御宇宙射线
题目:据传,2020年是宇宙射线集中爆发的一年,这和神秘的宇宙狗脱不了干系!但是瑞神和东东忙 于正面对决宇宙狗,宇宙射线的抵御工作就落到了ZJM的身上。假设宇宙射线的发射点位于一个 平面,ZJM已经通过特殊手段获取了所有宇宙射线的发射点,他们的坐标都是整数。而ZJM要构 造一个保护罩,这个保护罩是一个圆形,中心位于一个宇宙射线的发射点上。同时,因为大部分 经费都拨给了瑞神,所以ZJM要节省经费,做一个最小面积的保护罩。当ZJM决定好之后,东东 来找ZJM一起对抗宇宙狗去了,所以ZJM把问题扔给了你~输入
2020-06-07 11:32:37
270
原创 week15作业A ZJM 与霍格沃兹
ZJM 为了准备霍格沃兹的期末考试,决心背魔咒词典,一举拿下咒语翻译题题库格式:[魔咒] 对应功能背完题库后,ZJM 开始刷题,现共有 N 道题,每道题给出一个字符串,可能是 [魔咒],也可能是对应功能ZJM 需要识别这个题目给出的是 [魔咒] 还是对应功能,并写出转换的结果,如果在魔咒词典里找不到,输出 “what?”输入:首先列出魔咒词典中不超过100000条不同的咒语,每条格式为:[魔咒] 对应功能其中“魔咒”和“对应功能”分别为长度不超过20和80的字符串,字符串中保证不包含字符“[”
2020-06-01 20:22:21
326
原创 week15作业B ZJM 与生日礼物 字典树
ZJM 收到了 Q老师 送来的生日礼物,但是被 Q老师 加密了。只有 ZJM 能够回答对 Q老师 的问题,Q老师 才会把密码告诉 ZJM。Q老师 给了 ZJM 一些仅有 01 组成的二进制编码串, 他问 ZJM:是否存在一个串是另一个串的前缀.输入:多组数据。每组数据中包含多个仅有01组成的字符串,以一个9作为该组数据结束的标志。输出:对于第 k 组数据(从1开始标号),如果不存在一个字符串使另一个的前缀,输出"Set k is immediately decodable",否则输出"Set k
2020-05-28 17:33:13
209
原创 week14 实验A 猫睡觉问题
样例输入:12 12 123:00-01:003 4 307:00-08:0011:00-11:0919:00-19:59样例输出:Yes101:07-22:13No在刚看到这题的时候,感觉和之前的time planner很像,但是还是有很多细节不同,在实验课上一直不知道怎么处理好。把所有番剧的时间都存在一个数组中,排序,然后找到长度大于等于A的空闲时间段,保存在另一个数组中,最后遍历这个数组,如果两个空闲时间段间隔超过B,那么输出No,否则输出Yes。#include<.
2020-05-27 21:47:07
152
原创 week14作业E Q老师度假
忙碌了一个学期的 Q老师 决定奖励自己 N 天假期。假期中不同的穿衣方式会有不同的快乐值。已知 Q老师 一共有 M 件衬衫,且如果昨天穿的是衬衫 A,今天穿的是衬衫 B,则 Q老师 今天可以获得 f[A][B] 快乐值。在 N 天假期结束后,Q老师 最多可以获得多少快乐值?输入:输入文件包含多组测试样例,每组测试样例格式描述如下:第一行给出两个整数 N M,分别代表假期长度与 Q老师 的衬衫总数。(2 ≤ N ≤ 100000, 1 ≤ M ≤ 100)接下来 M 行,每行给出 M 个整数,其
2020-05-24 13:00:09
212
原创 week14 作业D Q老师染砖
衣食无忧的 Q老师 有一天突发奇想,想要去感受一下劳动人民的艰苦生活。具体工作是这样的,有 N 块砖排成一排染色,每一块砖需要涂上红、蓝、绿、黄这 4 种颜色中的其中 1 种。且当这 N 块砖中红色和绿色的块数均为偶数时,染色效果最佳。为了使工作效率更高,Q老师 想要知道一共有多少种方案可以使染色效果最佳,你能帮帮他吗?输入:第一行为 T,代表数据组数。(1 ≤ T ≤ 100)接下来 T 行每行包括一个数字 N,代表有 N 块砖。(1 ≤ N ≤ 1e9)输出:输出满足条件的方案数,答案模
2020-05-24 12:54:37
159
原创 week14 作业C Q老师的考验
Q老师 对数列有一种非同一般的热爱,尤其是优美的斐波那契数列。这一天,Q老师 为了增强大家对于斐波那契数列的理解,决定在斐波那契的基础上创建一个新的数列 f(x) 来考一考大家。数列 f(x) 定义如下:当 x < 10 时,f(x) = x;当 x ≥ 10 时,f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + …… + a9 * f(x-10),ai 只能为 0 或 1。Q老师 将给定 a0~a9,以及两个正整数 k m,询问 f(k) %
2020-05-24 12:43:38
239
原创 week14作业B Q老师与十字叉
Input95 5..*....*..*****..*....*..3 4****.*...*..4 3****..*..*..5 5******.*.******..*.*..***1 4****5 5.......*...***...*.......5 3....*..*.***.*.3 3.*.*.*.*.4 4*.**....*.***.**Output000004112记录每一行、每
2020-05-24 12:10:09
276
原创 week14作业A Q老师与石头剪刀布
每一个大人曾经都是一个小孩,Q老师 也一样。为了回忆童年,Q老师 和 Monika 玩起了石头剪刀布的游戏,游戏一共 n 轮。无所不知的 Q老师 知道每一轮 Monika 的出招,然而作为限制, Q老师 在这 n 轮游戏中必须恰好出 a 次石头,b 次布和 c 次剪刀。如果 Q老师 赢了 Monika n/2(上取整) 次,那么 Q老师就赢得了这场游戏,否则 Q老师 就输啦!Q老师非常想赢,他想知道能否可以赢得这场游戏,如果可以的话,Q老师希望你能告诉他一种可以赢的出招顺序,任意一种都可以。输入:
2020-05-24 12:04:51
231
原创 week13 作业A TT的神秘任务1
题目:这一天,TT 遇到了一个神秘人。神秘人给了两个数字,分别表示 n 和 k,并要求 TT 给出 k 个奇偶性相同的正整数,使得其和等于 n。例如 n = 10,k = 3,答案可以为 [4 2 4]。TT 觉得这个任务太简单了,不愿意做,你能帮他完成吗?本题是SPJ输入:第一行一个整数 T,表示数据组数,不超过 1000。之后 T 行,每一行给出两个正整数,分别表示 n(1 ≤ n ≤ 1e9)、k(1 ≤ k ≤ 100)。输出:如果存在这样 k 个数字,则第一行输出 “YES”,
2020-05-16 23:40:26
190
原创 week13 作业C HDU-1176
题目:在大家不辞辛劳的帮助下,TT 顺利地完成了所有的神秘任务。神秘人很高兴,决定给 TT 一个奖励,即白日做梦之捡猫咪游戏。捡猫咪游戏是这样的,猫咪从天上往下掉,且只会掉在 [0, 10] 范围内,具体的坐标范围如下图所示。TT 初始站在位置五上,且每秒只能在移动不超过一米的范围内接住掉落的猫咪,如果没有接住,猫咪就会跑掉。例如,在刚开始的一秒内,TT 只能接到四、五、六这三个位置其中一个位置的猫咪。喜爱猫咪的 TT 想要接住尽可能多的猫咪,你能帮帮他吗?输入:多组样例。每组样例输入一个
2020-05-16 23:40:03
217
原创 week13作业选做1 TT的苹果树 树形DP/没有上司的舞会
输入样例:711111111 37 42 34 56 43 50 0输出样例:5(虽然题目说的多组数据,但我试了下实际上只有一组数据。。。)f[i][0]表示第i个人不去时最大的快乐值,f[i][1]表示第i个人去时最大的快乐值。转移方程:f[i][0]+=max(f[j][0],f[j][1]),如果第i个人不去,那么他的下属,第j个人,可能去也可能不去f[i][1]+=f[y][0],如果第i个人去,那么他的下属都不能去完整代码:#include<.
2020-05-16 23:37:53
171
原创 week13作业B TT的神秘任务2
题目:在你们的帮助下,TT 轻松地完成了上一个神秘任务。但是令人没有想到的是,几天后,TT 再次遇到了那个神秘人。而这一次,神秘人决定加大难度,并许诺 TT,如果能够完成便给他一个奖励。任务依旧只给了两个数字,分别表示 n 和 k,不过这一次是要求 TT 给出无法被 n 整除的第 k 大 的正整数。例如 n = 3,k = 7,则前 7 个无法被 n 整除的正整数为 [1 2 4 5 7 8 10],答案为 10。好奇的 TT 想要知道奖励究竟是什么,你能帮帮他吗?输入:第一行一个整数 T,
2020-05-15 12:42:52
218
原创 week12作业D
dp[i][j]表示区间[i,j]中符合要求的最长字串长度。首先,如果区间长度小于等于1,那符合条件的长度肯定是0;如果区间长度为2,只有()和[ ]符合,长度为2,否则是0。区间大于2的时候,如果区间边界str[i]=’(‘并且str[j]=’)‘或者str[i]=’[‘并且str[j]=’]’,那么dp[i][j]=dp[i+1][j-1]+2。但是区间大于2的时候可能不符上述条件,对于[s’,s’],(s’或者s’)的情况,s’表示符合条件的子串,dp[i][j]=max(dp[i+1][j],
2020-05-12 23:23:56
214
原创 week12作业C hdu-1024
dp[i][j]代表前j个数中,以a[j]结尾,分成i组的最大和。状态转移方程:dp[i][j]=max(max(dp[i-1][k])+a[j],dp[i][j-1]+a[j]) 其中(i-1<=k<=j-1)。max(dp[i-1][k])+a[j]表示第j个数a[j]独自作为一组,前k个数中找出以a[k]为结尾,分成i-1组。这样正好有i组,同时,因为i-1组至少有i-1个数,至多有j-1个数,所以i-1≤k≤j-1。dp[i][j-1]+a[j]表示第j个数加入以a[j-1]结尾的
2020-05-12 23:23:33
211
原创 week12作业B bfs找最短路径
样例输入:3 4 5S…..###..##…###.###.####…#.#######E1 3 3S###E#0 0 0样例输出:Escaped in 11 minute(s).Trapped!虽然这题的迷宫是三维的,实际上与二维的迷宫没什么区别,只不过方向多了2个而已。既然是最短路,那自然就想到用bfs。在bfs的过程中,为了能够计算走的步数,我在相应位置插入一个特殊的标记,通过这个标记可以得知步数要+1,然后弹出标记,再重新在末尾压入标记。具体细节在代码
2020-05-10 21:07:52
210
原创 week12作业A
因为我们不知道数字a[i]大小,所以不能直接用num[a[i]]来记录数字a[i]的个数,所以,我们可以先进行排序,这样相同的数字都连在一起,在计数的时候,可以用变量cnt来辅助,当遇到与上一个数字不同的数字的时候,cnt++,表明上一个数字已经全部计数完毕,进行下一个数字的计数。具体细节在代码中。#include<iostream>#include<string>#include<algorithm>#include<string.h> usi.
2020-05-10 21:00:28
149
原创 week12实验C 咕咕东学英语
在课上的时候感觉这题无从下手,单独的回文子串能找到,但是对于他们的组合让我一团糟。课下才知道本题有一个特殊的地方,就是字符只有A和B,那么只有AAAB或者BAAA这样的字符串是不符合条件的。例如AAABBBB,我们可以知道2个字符及以上的子串一共有(n*(n-1))/2个,因为字符只有A或者B,那么如果遇到相邻的字符相同,那它肯定是符合delicious的条件的,只有在遇到AB或者BA的情况下不符合delicious的条件,那么AB,AAB,AAAB也都不符合,所以我们在(n*(n-1))/2中去掉这.
2020-05-09 23:42:31
472
原创 week12实验B 消消乐大师--Q老师
我们可以把行和列分开来看,先看行,用temp记录当前的数字是什么,遍历一行,遇到和temp相同的数字,cnt++,如果此时已经是这一行的末尾,那么判断cnt是否>=3,如果是,那么把当下位置以及往前cnt个位置放入vector中;如果遇到的数字与temp不同,那么判断cnt是否>=3,操作与之前类似,然后temp赋为新遇到的那个数字,cnt赋为1。列的操作和行类似,之后我们根据vector存储的位置把棋盘相应位置赋为0,最后输出即可。以下是完整代码:#include<iostrea.
2020-05-08 23:24:36
446
1
原创 week12实验A 瑞神的序列
完整代码:#include<iostream>using namespace std;int a[2000];int main(){ int n; cin>>n; for(int i=0;i<n;i++) { cin>>a[i]; } int temp=a[0];//记录当下是哪个数字的序列 int cnt=1; for(int i=1;i<n;i++) { if(temp!=a[i])//序列发生变化了 { .
2020-05-08 23:17:09
126
原创 week11选做题F 01背包
样例输入:5 3 1 3 410 4 9 8 4 220 4 10 5 7 490 8 10 23 1 2 3 4 5 745 8 4 10 44 43 12 9 8 2样例输出:1 4 sum:58 2 sum:1010 5 4 sum:1910 23 1 2 3 4 5 7 sum:554 10 12 9 8 2 sum:45这一题就是普通的01背包问题,只不过需要...
2020-05-02 19:20:18
140
原创 week11选做题E 多重背包(二进制拆分)
样例输入:735 3 4 125 6 5 3 350633 4 500 30 6 100 1 5 0 1735 00 3 10 100 10 50 10 10样例输出:73563000多重背包的思路和完全背包的思路相似。我们可以设f[i][j]表示前i种物品放入一个容量为V的背包的最大权值。状态转移方程为f[i][j]=max{f[i-1][j],f...
2020-05-02 18:52:05
174
原创 week11作业D 必做题11-4
样例:Input72 2 2 1 1 2 2Output4Input61 2 1 2 1 2Output2Input92 2 1 1 1 2 2 2 2Output6这题用滑窗的思想解决。具体细节和注释都在代码里。#include<iostream>using namespace std;int a[100100];int number[3];...
2020-05-02 12:26:03
201
原创 week11必做题C
样例输入:NS BFW, JAJSYX TK NRUTWYFSHJ FWJ YMJ WJXZQY TK YWNANFQ HFZXJX样例输出:IN WAR, EVENTS OF IMPORTANCE ARE THE RESULT OF TRIVIAL CAUSES这一题不算难,只有A,B,C,D,E这五个需要注意,因为题目的意思相当于A~Z是首位相连的,那么如果密文是A,明文是V。以下...
2020-05-02 12:25:26
423
原创 week11必做题B
样例输入:40 0 0 00 0 0 00 1 0 00 0 0 00 0 0 00 1 0 00 0 0 00 0 0 0样例输出:1先把最初的方阵和目标方阵对比,如果相同直接输出0,如果不同,则将其顺时针旋转90度,一共3次,每次旋转后都和目标方阵比较,如果相同就输出,如果都不同则输出-1。#include<iostream>using namesp...
2020-05-02 11:39:05
117
原创 week11必做题A
这题不难,直接上代码。#include<iostream>using namespace std;double N,K;int main(){ cin>>N>>K; K=K/100.0; double temp=N,t=200; for(int i=1;i<=20;i++) { if(temp>=t) { cou...
2020-05-02 11:06:31
154
原创 week10实验B 团队聚会 POJ-1960 time planner
输入样例:2332020 06 28 15 00 00 2020 06 28 18 00 00 TT study2020 06 29 10 00 00 2020 06 29 15 00 00 TT solving problems2020 11 15 15 00 00 2020 11 17 23 00 00 TT play with his magic cat42020 06 ...
2020-04-28 16:55:13
202
原创 week10实验A 签到题
思路很简单,我们要求以下是完整代码:#include<iostream>#include<algorithm>using namespace std;int main(){ long long a[3]; for(int i=0;i<3;i++) { cin>>a[i]; } sort(a,a+3); if(a[2]%2==0)...
2020-04-28 14:14:21
165
原创 week10作业C 拿数问题II
数组a存储元素,number存储每个相应的值有多少个,score[i]存储元素i的分数。具体细节在代码中。#include<iostream> #include<algorithm>#define ll long longusing namespace std;ll n;ll a[110000],number[110000],score[110000];...
2020-04-27 22:31:29
465
原创 week10 作业B LIS&LCS
样例输入:5 51 3 2 5 42 4 3 1 5样例输出:3 2对于第一部分LIS,设数组d存储着从1号元素到i号元素的序列的LIS最长长度。转移方程为d[i]=max{j<i&&a[j]<a[i]}+1 d[1]=1;//初始化 for(int i=2;i<=n;i++) { int mx=0; for(int j=1;j&l...
2020-04-27 22:24:03
173
原创 week10作业A 签到题
最开始的时候,我是用bfs来做这道题,但是发现数据1<=n<=m<=5*10^8,这样的话,即使我用bool型的数组vis来标记某个点是否到达,数组也太大了,不能通过。后来换了种思路,因为如果n能通过不断地乘2或乘3变成m,那么m%n必定等于0,而且它们间的倍数m/n必定能被2、3除尽,通过这种思路解决了这道题。以下是完整代码:#include<iostream&...
2020-04-27 21:41:08
238
原创 week9作业A 咕咕东的目录管理器
题目:咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响,时不时发生故障,他受不了了,想要写一个高效易用零bug的操作系统 —— 这工程量太大了,所以他定了一个小目标,从实现一个目录管理器开始。前些日子,东东的电脑终于因为过度收到宇宙射线的影响而宕机,无法写代码。他的好友TT正忙着在B站看猫片,另一位好友瑞神正忙着打守望先锋。现在只有你能帮助东东!初始时,咕咕东的硬盘是空的,命令行的当前目录...
2020-04-22 21:14:32
205
原创 week9 作业B-东东学打牌
题目:样例输入:3DongDong AAA109ZJM 678910Hrz 678910样例输出:HrzZJMDongDong这个题目和以前的一次实验有点像,但是多了一些细节,复杂了一点。先是两个结构体:struct PLAYER{ string name; int card[5];};PLAYER player[110000];struct SCORE{ in...
2020-04-22 21:13:57
149
原创 csp 20160903 炉石传说
第九周作业A题做了后,我有意识地用面向对象的思想去做这一题,感觉思路确实清晰了很多,写起来很顺畅。我把召唤随从、攻击的函数全都写到玩家类PLAYER里了。具体的细节和解释都在代码里了。#include<iostream>using namespace std;struct ATTENDANT{ int health;//生命值 int attack;//攻击力 };...
2020-04-19 21:48:38
269
原创 week9 作业C
样例输入:37161样例输出:6 13样例解释:最初三张椅子的人数分别为 1 6 1接下来来了7个人。可能出现的情况为{1 6 8},{1,7,7},…,{8,6,1}相对应的k分别为8,7,…,8其中,状态{1,13,1}的k = 13,为mx状态{4,6,5}和状态{5,6,4}的k = 6,为mn这一题,对于mx,很明显就是最开始的最大值加上新加入的人,mn则是...
2020-04-19 21:41:45
176
原创 week8作业C 班长竞选 kosaraju
题目:大学班级选班长,N 个同学均可以发表意见若意见为 A B 则表示 A 认为 B 合适,意见具有传递性,即 A 认为 B 合适,B 认为 C 合适,则 A 也认为 C 合适勤劳的 TT 收集了M条意见,想要知道最高票数,并给出一份候选人名单,即所有得票最多的同学,你能帮帮他吗?输入:本题有多组数据。第一行 T 表示数据组数。每组数据开始有两个整数 N 和 M (2 <= n &...
2020-04-14 15:11:18
283
原创 week8 作业B 猫猫向前冲 拓扑排序
题目:众所周知, TT 是一位重度爱猫人士,他有一只神奇的魔法猫。有一天,TT 在 B 站上观看猫猫的比赛。一共有 N 只猫猫,编号依次为1,2,3,…,N进行比赛。比赛结束后,Up 主会为所有的猫猫从前到后依次排名并发放爱吃的小鱼干。不幸的是,此时 TT 的电子设备遭到了宇宙射线的降智打击,一下子都连不上网了,自然也看不到最后的颁奖典礼。不幸中的万幸,TT 的魔法猫将每场比赛的结果都记录了...
2020-04-14 12:06:46
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅