- 博客(35)
- 收藏
- 关注
原创 Bronze-2018Dec-Mixing Milk
我在pour()里直接模拟了倒3次,所以main里的循环是33,再额外倒一次。我每次只能倒不超过下一个桶(i+1)上限的,以及上一个(i)的容量数;m[i]减去要倒的;m[i+1]加上要倒的。这道题就是模拟倒牛奶的过程;
2022-08-21 13:24:38
240
1
原创 Bronze-2017Dec-Milk Measurement
就是3只牛(Bessie,Mildred,Elsie),,一开始生产的牛奶数量为7,然后会时不时的变化。题目要求记录变化的次数。当两只牛生产的牛奶数目相同时,也计入为一次变化。直接用c++自带的数据结构模拟就好了!这道题题目算是长的。...
2022-08-20 22:12:41
311
原创 Bronze-2017Dec-Bovine Shuffle
5只牛(N=5), 根据a1=1,a2=3,a3=4,a4=5,a5=2的换位顺序,经过三次变化后得到的顺序是。1234567(第一只牛的id)222222,3333333,4444444,5555555(第五只牛的id)那么直接在数组中回滚三次,找回原来的位置就好。认真模拟下,难度不打,主要是理解题目意思难。这道题理解起来是麻烦的,考验英语阅读了。直接用样例来解释就是,问我们开始洗牌前,牛的顺序是什么?...
2022-08-17 18:31:56
267
原创 Bronze-2017DEC-Blocked Billboard
这两句话,一个是明确说明广告牌矩形不会重叠,另一个提示我们考虑truck和广告牌重叠的各种情况,算是非常明白的提示了!这时候,通过简单提示,可以发现,卡车和广告牌重叠的情况,非常多,我们再考虑求重叠部分面积的时候一定要小心。简单来说就是两个矩形(rectangle)被第三个矩形遮挡,求剩下的面积是多少。...
2022-08-16 10:26:22
213
原创 利用DFS的全排列问题
我们可以先写一个用于打印的函数print(),每当深搜时找到一个符合条件的解时,则print()一下,先定义两个数组,一个是用来存放解的,一个是用来标记该数是否用过。
2022-08-13 18:17:42
111
原创 Bronze-2022Feb-Blocks
In an effort to improve her vocabulary, Bessie the cow has obtained a set of four wooden blocks, each one a cube with a letter of the alphabet written on each of its six sides. She is learning how to spell by arranging the blocks in a row so the letters on
2022-08-13 17:51:03
316
原创 YACS20222丙组——缩进对齐(差分法)
为了求出把c数组变成d数组要最少多少次,我们只需找出所有比 d[i]d[i] 大的 c[i]c[i],计算出 c[i]-d[i]c[i]−d[i]的和即可。(也可以找比d[i]d[i]小的c[i]c[i],结果一样)因为我们补充定义了a数组的头尾是0,其实差分数组c的和一定为0,类似地我们对b数组补充定义,另d数组为b数组的差分数组。我们可以每次只选择a中的一个元素,让它不停加1或者减1变成b数组中对应的值。如果我们选择a[1]到a[4]加1,体现在差分数组上则是c[1]加1,c[5]减1....
2022-08-04 23:19:43
261
原创 YACS20225月乙组——天平与砝码(二)
小爱有一座天平,还有n个砝码,这些砝码的重量分别为w_1,w_2,…称重时,砝码与物品可以放在同一边,也可以放在不同边。dp[i%2][j]=dp[(i+1)%2][j];(i-1+2)%2——>,dp[(i+1)%2][j];因为题目中说到,砝码放到物体那一边,可以视作-,所以100个砝码实际上能有正负200个的情况。dp[i][j],代表前i个砝码,能否凑成重量j;在实际计算中,先计算全部放+w的情况,即达到的最大重量;然后在最大重量中,减去砝码,j-w[i]......
2022-08-02 00:34:47
235
原创 YACS20222月丙组——天秤与砝码(一)
其中w是一个给定的整数。称重时,砝码与物品可以放在同一边,也可以放在不同边。当砝码与物品放在同一边时,砝码起到了减法的效果。当w=2时,我们的a_i完全可以只取0和1,这样就是二进制表达式,可以表达出0到。给定一个正整数t,请问利用这组砝码,能否称量出重量恰好为t的物品呢?如果扫描到最后还没有遇到第4种情况,那就说明tt可以表示,输出“Yes”。小爱有一座天平,还有3232个砝码,这些砝码的重量分别为。输入37(w,t)−1范围内的所有正整数,所以,题目就是让我们求。......
2022-08-01 19:07:20
399
原创 YACS20223月丙组——洗牌(倍增算法)
对于所有f[k][1]=min(f[k][0],f[k+1][0])推出,远离不难理解就是k之后2^0个与k+2^0之后2^0个叠加起来,特别地,对于6他没有f[6][1](他之后没有2个了)。类似的对于所有f[k][2]=min(f[k][1],f[k+2][1]),4~6没有f[k][2]所有f[k][0]=a[k],这是因为k之后2^0=1个,只有他自己,所以最小值就是他自己。一开始,牌的顺序为1,2,⋯,n。第二个2~5的最小值可以由min(f[2][1],f[5][0])得出为1。...
2022-07-25 11:44:18
278
1
翻译 Priority Queue in C++ STL优先队列
然而,在c++中,默认最上方的元素一直是最大的。我们也能改变它为最小的。优先队列建立在大顶堆(toptothemaxheap,堆的顶部是最大值)并使用array或者vector作为内部结构。
2022-07-24 23:19:49
49
原创 YACS20223月丙组——三扔硬币
如果说第i位是1的话,如果i-1位是1的话,那么i-2位肯定是0,这个写法已经包含了上一个的假设dp[i-2][0]如果i-1位是0,那么i-2位可以是0,可以是1。然后写上基础解,第1位是1,0时dp[1][1]=1,dp[1][0]=1;那么上一个假设里,还没有包括的就是i-1为是0的情况,dp[i-1][0]第2位是1,0时dp[2][1]=2,dp[2][0]=2;dp[i][1]表示第i个数为1的合法方案数。dp[i][0]表示第i个数为0的合法方案数。...
2022-07-23 13:11:05
470
原创 YACS20223月乙组——滚雪球(投资问题)
小爱有m元钱,有n个项目等待她的投资,每个项目只能投资一次。其中第i个项目要求先支出成本c_i元,待项目完成后,可以收回全部成本,且获得p_i元利润,若小爱的钱不足c_i,就没法投资这个项目了。投资不必按照项目的编号顺序进行,可以用老项目收回的成本及利润支付新项目的成本。若小爱只能投资k个项目,那么她最多可以积累多少钱呢?33输出4说明先做第一个项目再做第二个项目,第三个项目虽然赚钱最多,但小爱没时间积累足够的本金。输入n,k,m321。......
2022-07-23 12:17:18
235
原创 上海市计算机学会-击鼓传花
情况二总共有两个数a[1],a[2],先手需要考虑取max(a[1],a[2]),即两者中的更大者,这是显然的,因为此时先手只有一次选择机会,另一个数一定是后者的得分.情况一只有1个数a[1]时,先手选择最佳策略一定会取这个数字,得分为a[1].不妨设f[1,i]表示先手在[1,i]可以取得的最大分数,......
2022-07-20 21:19:49
320
原创 上海市计算机学会-走走跳跳
假设dp[i]代表第i步的得分,那么dp[i+1]=dp[i]+a[i]或者dp[t[i]]=dp[i]+a[t[i]](这里之所以是dp[t[i]]因为是跳到了t[i]步,dp代表的是i步的分数,所以哪里要改变)有n个位置排成一排,第i个位置都有一个分数a_i(分数可能是正数,也可能是负数)。这里第1个位置4分,第三个位置6分,可以选择第1个位置到第2个位置,也能选择第1个位置跳到第3个位置(n=3,执行完毕了);注意dp[i]=-1e18是因为题目要求得分a[i]是有负数的,还挺小。...
2022-07-20 18:33:34
305
原创 蓝桥杯-打印六芒星
这道题看着复杂,不过图形打印题,无非是for循环的嵌套使用,最最关键的是找到行和图案的关系。然后,找关系后,还要看看对称性。对称性可以帮助我们省略很多代码。不过,之前在csdn上看了很多,都java做的(互相抄的吧~)看懂之后,就用自己熟悉的语言再做一次!经过观察,第3行,第5行*后有空格(包括对称)其它都空格+‘*’这样的结构。这是上海市计算机学会2022年7月丙组的压轴题和之前蓝桥杯的大题一模一样。.........
2022-07-19 20:41:51
531
原创 上海市计算机学会-观光电梯
这道题一开始我的想法是计算a[i]和a[i+1]的和,大于4就不能一部电梯。其次,计算1,3小队的个数,让它们拼搭;至于为什么不是1,1,2这样的组合,可以用举列子的方式来表达,不过我纯粹是想不明白怎么做。班级学生自由组队,共分成了若干个组,第i个组的人数为ai,且每个组的人数均不超4个人。3人队没有剩下的,就是1人剩下的,可以和2人队剩下的合并看看;3人队有剩下的(就是说1人的已经全部分配完了)就是单独一个电梯,剩下的2人小队也是单独一个电梯;输入3,2,4,1,3。...
2022-07-17 23:40:23
299
原创 上海市计算机学会-子集和(回溯法)
使用回溯法,回溯法”主要是在搜索尝试过程中寻找问题的解,当发现已不满足求解条件时,就“回溯”返回,尝试别的路径。给定n个正整数a1,a2,,⋯,an,请从中找出一些数字,使得它们的和恰好等于一个给定的目标t。之前看到一个子集和(四)的题目,觉得好难,发现这一系列题目由简单变难,很有意思,所以全都挑出来好好看看。第二行n个正整数a_1,a_2,⋯,an。第一行两个正整数n与t。......
2022-07-17 22:48:17
393
原创 上海计算机学会-评测队列二(流水线问题)
竞赛平台有两台服务器,一台只负责编译,另一台只负责运行,编译第ii个程序的时间为ai,运行第i个程序的时间为bi。每台服务器在同一时刻只能处理一个任务。这道题和之前做的评测队列非常接近,但是这里有个不同之处,重新安排程序的计算顺序,这里增加了难度,使其成为了甲组的难题!在一次算法比赛中,有n个程序提交到了竞赛平台上,为每个程序打分需要两步先编译,然后运行。些程序的计算顺序,请找到一个最好的顺序,尽快完成所有程序的测试任务。在开始测试这些程序之前,小爱可以。...
2022-07-16 01:21:23
487
原创 上海市计算机学会-子集和(四)
题目描述子集和问题是指,给定 n个数字 a1,a2⋯,an,再给定一个目标 t,有多少种方法,能够选出一些数字,使得它们的和等于 t。在这道题目中,每个数字可以重复使用任意多次。小爱希望计算一些带有限制的子集和问题,她想知道,如果规定不能选择 ai,那么还有多少种方法,可以选出一些数字,使得它们的和等于目标 t?输入格式输出格式共 n 行,每行一个数,表示有多少种方法,在禁止选择 ai 的条件下,子集和问题的答案。由于答案可能很大,输出方案数模 1,000,000,007 的余数思路:1、考虑动归,
2022-07-14 00:52:39
195
原创 上海市计算机学会-航海探险
上海市计算机学会竞赛平台 | YACS题目描述在大海中,有 nn 座不确定坐标的岛屿。接下来,会陆续发现这些岛屿之间的相对位置关系,在发现的过程中,系统也会询问一些岛屿之间的距离:注意,在计算距离时,所使用的定义是横纵坐标的差的绝对值之和,这种距离定义被称为城市距离或曼哈顿距离,而非常用的欧几里得距离。输入格式...
2022-07-14 00:27:28
130
原创 上海市计算机学会-连续的零
上海市计算机学会竞赛平台 | YACS题目描述给定一个 序列 b1、b2…bn, 的意思就是这个数列里只有 与 。请问最少需要将多少个 改成 ,序列里会出现 k个连续的 。输入格式第一行:两个整数 n 与 k。第二行:n 个字符表示 b1、b2…bn,保证只出现 与 。输出格式单个整数:最少要改多少个 ,才会出现 k 个连续的 。思考过程:最后得到k个连续的0,原本是x个0 的话,就是k-x个 1,至少改了k-x个1,使其变成0。找k-x的最小值,也就是x的最大值101010,最少有3个连续
2022-07-12 00:41:47
433
原创 上海市计算机学会-平整序列
题目描述给定一个整数序列 a1,,…,an ,小爱需要通过一系列调整操作将所有数字改成 0。每步调整操作中,小爱可以选择一段连续的区间(也可以只选一个数),将所选的全部数字增加一单位,或将所选的全部数字减少一单位。请问小爱最少需要几步操作才能将所有数字改成 0?输入格式第一行:单个整数表示 n;第二行:n 个整数表示 a1,…,an。输出格式单个整数:表示最少调整次数整个区间段的变化,要想到用差分的方法来操作!引入辅助变量a0和a5B1=a1-a0B2=a2-a1B3=a3-a2B4=a4-a3
2022-07-12 00:08:20
751
原创 上海市计算机学会-切香肠
题目描述上海市计算机学会竞赛平台 | YACS有 n 条香肠,每条香肠的长度相等。我们打算将这些香肠切开后分给k 名客人(不保留),且要求每名客人获得一样多的香肠。请问最少需要切几刀?注意一刀只能切断一条香肠,每个客人可以接受多段香肠。输入格式单独一行:两个正整数 n 与 k输出格式:单个自然数:表示最少需要切几刀看了很多分析,主要是要分类讨论香肠n与客人k的关系;n%k==0, 比如6根香肠,3个客人,那每人分两根,不用切,输出就是0;还有种情况是7根香肠3人分,那就是7%3=1,余下一根,三人均分;每人
2022-06-04 00:09:17
701
原创 上海市计算机学会-2022年5月乙组游戏(二)
有 n 名玩家在玩狼人游戏,有一些玩家的身份是狼人。其余玩家的身份是预言家。游戏的进程中,陆续出现了 m 句发言,每句发言来自于某个玩家,发言的信息是声称另一个玩家的身份是狼人或者是预言家。小爱猜想,狼人的发言应该永远与事实相反,而预言家的发言应该永远与事实相同。她想检查一下,她的猜想是否会与发言记录产生矛盾,如果出现矛盾,请求出她的猜想与哪一条发言最先出现矛盾。输入格式第一行:两个整数 n与m第二行到 m+1行:第 i+1行有两个整数: si和 oi,接下来有一个字符:...
2022-05-27 16:57:30
456
原创 上海市计算机学会-天平与砝码(二)
小爱有一座天平,还有 n 个砝码,这些砝码的重量分别为 w_1,w_2,,,,,,,wn。称重时,砝码与物品可以放在同一边,也可以放在不同边。当砝码与物品放在同一边时,砝码起到了减法的效果。请计算这些砝码,能够称出多少种重量。上海市计算机学会竞赛平台 | YACS根据背包问题的通常做法,是找出状态转移之间的关系,因为这里有个减法,所以会有三个过程。dp[i][j]表示前i个砝码能否凑成质量j;能凑成的话, dp[i][j]=dp[i-1][j]不能凑成,需要再加上第i个砝码才能凑成
2022-05-27 15:39:01
353
原创 上海市计算机学会-最远城市距离
大城市的道路是相互平行或垂直的,如果在城市的道路上行走,不能用点与点之间的直线距离计算长度,而是应该定义两个点(设坐标分别为 (x,y)(x,y) 与 (x',y')(x′,y′))的城市距离为|x-x'|+|y-y'|给定 n 个点的坐标,请从中寻找两个点,使得它们的城市距离达到最大,并输出这个最大值我们先来看任意两点的曼哈顿距离公式:绝对值意味着里面的值可正可负。所以,接下来我们要分类讨论。在下面的式子中,(x,y)(x,y)为平面上一点,(x',y')(x′,y′)为平面上另一
2022-05-26 15:46:49
358
原创 上海计算机学会-数山峰(二)
题目描述在平面直角坐标系上有n 座像山峰一样的图案。每座山峰是一个直角等腰三角形,它们的底边都是坐标系的X轴,它们的峰顶在第一象限里,其中第 i 座山峰的峰顶坐标为(xi,yi)。如果一座山峰的一部分在另一座山峰的内部,那么这两部分山峰就重叠了。给定每个山峰的峰顶坐标,请统计不重复计算重叠部分的前提下,这些山峰的总面积是多少。输入格式第一行:单个整数n;第二行到第n+1 行:第i+1 行两个整数,表示一个峰顶的坐标 xi与 yi。输出格式单个整数:设所有的山峰...
2022-05-17 12:49:21
326
原创 上海市计算机学会-闯关升级
上海市计算机学会竞赛平台 | YACS 2020nian 7月月赛丙组小爱可以玩两种游戏,每种游戏各有 n 关,每过一关升一级,通过每一关的时间都不一样。小爱玩游戏的时间有限,为一个给定的整数 t。请问她应该如何分配时间,才能让升级的次数达到最大?输入格式第一行:两个整数n和t;第二行:n个整数a1,a2,…,an,表示第一个游戏每个关卡的通关时间;第三行:n个整数 b1,b2,…,bn,表示第二个游戏每个关卡的通关时间。样例输入:4 226 ...
2022-05-11 01:10:46
971
原创 上海市计算机学会-巧妙的数
题目描述上海市计算机学会竞赛平台 | YACS如果一个十进制正整数能够被它的每一个非零数码整除,则称它为巧妙的数,譬如 102102 是一个巧妙的数,因为 102 能被 1 与 2 整除,而 2021 不是,因为它不能被 2 整除。给定一个正整数 n,请判定它是否为巧妙的数。
2022-05-09 18:02:52
1096
原创 上海市计算机学会-买二送一
上海市计算机学会竞赛平台 | YACS题目描述有n 本书,第i本书的价格为ai,小爱想把这些书全部买回家。现在正有一个买二送一的促销活动,即,凡是购买两本书,就可以免费带走第三本书,只要免费书的价格不超过两本付费书中任意一本的价格即可。请问,最少需要多少钱,才能将 n 本书全部买回家?这个还是比较简单的,免费的书,不能超过前面两本任意一本,就是把书的价值排序,从大到小排序后,每买2本,免费1本n=int(input())a=list(map(int,inpu...
2022-05-09 17:37:07
991
原创 上海市计算机学会-三倍子串
上海市计算机学会竞赛平台 | YACS这个题目先要理解一下;95764,被3整除的子串;9,957,9576,57,576,6这些子串换成前缀和的形式,9 957 9576 57 576 6 9 21 27 12 18 6 其它子串的形式:95764,5,5764,7,76,764,64,4 95764 5 5764 7 76 764 64 4 前缀和...
2022-05-07 14:23:31
597
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人