自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 C++ 2019省赛

始终记录经过站点买鱼的最小花费,如果当前站点买鱼的价格比最小花费低,就将当前站点买鱼的价格赋值给最小花费,加上总共费用中。//最小的费用,总共的费用。i++){//计算最大值的个数。if(t[p]>=0){//给对应编号投票。if(cnt>1)//最大值多余1个,说明评选失败。else{//最大值最小值不等,则需要进行下一次的评选。if(p == 0){//0弃票。//通过票数的最小值和最大值是否相等来看是否结束。if(max==min){//最大值和最小值相等。else//最大值只有1个,评选成功。

2024-03-29 22:48:39 945 1

原创 动态规划-皮皮夏的奇怪比赛

皮皮夏正在进行一场信息学的比赛,比赛时间为T分钟,一共有有N道题,可以在比赛时间内的任意时间提交代码。第i道题的分数为a[i],题目的分数随着比赛的进行,每分钟减少b[i],这场比赛非同一般,分数可能减成负数QAQ。f(i,j)-f(j,i)=bi*tj-bj*ti>0 则 bi/ti > bj/tj。已知第i道题需要花费Time[i] 的时间解决,请问皮皮夏最多可以得到多少分?第一行输入两个整数N,T (1≤N ≤50,1≤T≤100000)分析:有第i题和第j两题,先做哪道题呢?

2023-12-22 01:29:20 676

原创 【记忆化】滑雪

同时记录每个高度的初始滑雪长度,都为1。然后从小到大遍历每一个结构体数组元素,查看每个元素与上下左右四个位置的高度比较,如果当前位置的高度大于上下左右的某个位置高度,就用某个高度上的滑雪长度+1,得到当前位置的最长距离。如果是朝着上滑,那么它这个位置的滑雪长度就要用上一个位置的滑雪长度+1得到,同理如果往右滑,它这个位置的滑雪长度就要用右边位置的滑雪长度+1得到。那我们就从最低的开始,找每个位置与它的上下左右四个位置比较,如果有比周围高,那么自身的滑雪长度+1,最后取最大值,作为这个位置的最长滑雪长度。

2023-12-01 10:25:05 33 1

原创 二分答案-办公室钥匙

画图可知,第一个人从第一个钥匙开始找,如果有某个钥匙拿完后时间小于mid,说明可。【因为前面的钥匙距离第一个人是比较近的,第一个人拿了都不满足时间,距离远的下一个人更不可能符合】,如果人数超过了n个,说明当前时间是合适的,接下来去寻找比它小的还有没有合适的了。如果两个人同时拿到钥匙,只有一个人可以拿钥匙并且不能把钥匙给别人。在第一个例子中,位于20的人应该拿着位于40的钥匙,带着它去位于50的办公室。第一行包含三个整数n,k和p(1≤n≤k≤2000,1≤p≤10^9),分别表示人数,钥匙数和办公地点。

2023-11-17 23:49:16 66 1

原创 二分答案-数列分组

如果大于mid,则前面的数为1组,当前的数为下组的第一个。对于给定的一个长度为N的正整数数列 A[1~N],现要将其分成 M(M≤N)段,并要求每段连续,且每段和的最大值最小。所以可以得到要将数列4 2 4 5 1 要分成3段,每段和的最大值最小为6。思路:答案最小是数组最大的数,最大是所有数的和,进行二分查找。第一段和为6,第2段和为9,第3段和为1,和最大值为9。第一段和为4,第2段和为6,第3段和为6,和最大值为6。一个正整数,即每段和最大值最小为多少。第1行包含两个正整数N,M。

2023-11-17 23:34:33 45 1

原创 二分答案-捡果子

小红在一条道路上闲逛,道路上有许多日落果,想要在日落之前捡到尽可能多的日落果。将道路视为一条数轴,小红从原点出发,道路上有n(1 <=n<= 50000)个日落果,每个日落果有一个坐标x[i](-100,000 ≤xi ≤100,000)且日落果的坐标各不相同,t(1≤t <100000)分钟之后将会日落。如果左端点的值在原点的右边,说明一直往右找就行,那就看右端点的值是不是小于时间t,是的话就符合,不是重新找。如果是从第一个开始捡,那么第x个的下标就是x,所以从x到n枚举右端点。根据右端点,推出左端点。

2023-11-17 16:43:03 74 1

原创 DFS-数的划分

找的过程不需要每个数都找,如果剩下的位置全放这个数,总和超过了n,那么这个数以及往后的数都不合适了(大了)。如果总和是小于或等于n的,则可以将这个数放在下个位置,再从这个位置开始找其后面可以放什么数。当re等于给定的份数k,说明k个位置都排完了,放好的总和是不是等于n,if(sum==n),成立则答案+1.然后此条路结束,return。先从1开始排,在1到n这个范围内去找它后面可以放什么数。输入两个正整数n,k (6<n≤200,2≤k≤6)例如:n=7,k=3,下面三种分法被认为是相同的。

2023-11-17 12:30:05 80 1

原创 dfs-素数环

①查找1后面可以放的数字(在2~n中寻找),如果有个数字没有被访问过并且相加的和是质数,那么就放这个数,这个数要标记已访问。首先输出每种方案的具体数据,如果有多种方案按照字典序输出对应的结果。求输入n时,求能够组成素数环的方案以及方案总数。②深搜结束后,要将访问标志清空,在循环到后面数,看还有没有可以放的,继续深搜。素数环是用一串数字组成一个环,在这个环中任意两个相邻的数字的和都是素数。现要求输入一个数字n(1~20),将1到n这n个数字组成一个素数环。注意:输出时,每行的末尾没有多余的空格。

2023-11-17 11:16:32 57 1

原创 CSP-J 2021 第17题

base数组0A1B2C3D4E6G7H8I9J10K11L12M13N14015P16Q17R18S19T20U21V22W23X24Y25Z26a27b28c29d30e31f32g33h34i35j36k37l38m39n40o41p42q43r44s45t46u47v48w49x50y51z。

2023-09-07 16:54:11 82 1

原创 CSP-J 2021 完善程序 第20题

通过主函数中64、65行可以看出在枚举i点和j点,并且查找i点的x,j点的y以及j点的x和i点的y.equals()函数功能是点一样返回1,点不一样返回0。sort函数作用是对点进行排序,因为下面查找是按照二分的思路查找,因此点的排序应该按照X坐标和Y坐标的值排序。通过画图可以发现程序思路:先确定两个点的x坐标和y坐标,在去枚举其它点是否满足矩形要求。unique()函数是在进行去重,第i个和上一个不一样就加入到数组中。在枚举两个点的时候,两个点需要一左一右,才好确定,所以选D。

2023-09-07 14:53:26 40 1

原创 CSP-J 2021 第16题

可见f()函数为求二进制中1的个数,g(x)是保留二进制中最后一个1,形成新的二进制数。函数的定义(14∼17行)移到 main 函数的后面,程序可以正常编译运行。输入的a[i] 必须全为正整数,否则程序将陷入死循环。输入的 n 等于 1001时,程序。函数写在后面需要在前面写函数申明。数组最大下标为999,会越界。

2023-09-07 13:59:00 437 1

原创 【最大最小值】

比较第四个隔间和第一头猪的位置,差值>mid.可以放,放第二头猪。比较第三个隔间和第一头猪的位置,差值==mid,可以放,放第二头猪。比较第四个隔间和第二头猪的位置,差值>mid.可以放,放第三头猪。比较第三个隔间和第一头猪的位置,差值>mid,可以放,放第二头猪。比较第四个隔间和第二头猪的位置,差值>mid.可以放,放第三头猪。他的C(2<=C<=N)头猪不满于隔间的位置分布,它们为猪圈里其他的猪的存在而愤怒。为了防止猪之间的互相打斗,凯亚想把这些猪安置在指定的隔间,所有猪中相邻两头的最近距离越大越好。

2023-07-18 17:36:57 36 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除