- 博客(22)
- 收藏
- 关注
原创 ulited
然后有一个点我没考虑到,如果这样优先选择价值高的话,背包的体积可能会有所空出来,但是可以得之背包中空出来的体积肯定是1。有两种类型的物品,如果是1类型的物品,那么它的体积为1,如果是2类型的物品,那么它的体积为2。问你在不超过背包的容量的情况下,所能获得的背包的最大价值。并同时输出被选在背包中的物品的序号。于是可以对每种物品的价值排序,然后优先选择价值高的。2)在前面的物品中选择体积为1的删除,并在后面选择体积为2的加入到我们所选的集合中。1)在后面的物品中选择体积为1的加进去。
2023-07-16 12:07:30
155
原创 Codeforces Beta Round 2
如果满足条件的点多于一个,则优先选择观测角度最大的点。我们可以先对每个格子里的数预处理下,计算出2和5的个数来,然后DP分别求出2和5的最小个数然后选两者中的最小值,输出路径方法没啥说的,很传统~~还有一个要注意的问题就是如果某个格子的数字为0的情况,这个需要特殊判断一下,我们可以把它当做10,如果最后的结果0的个数大于1则直接输出尾部0的个数为1即可。给定一个N*N的格子,每个格子里有一个非负数,要求你找出从左上角到右下角的一条路径,使得它满足路径上的格子里的数全部乘起来的积尾部0最少 题解。
2023-07-04 22:31:13
499
原创 归并排序详解
归并排序(Merge sort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的。
2023-07-02 21:20:10
1285
1
原创 补题赛(5.20)
在每个路口,都有一个开关决定着出去的轨道,每个开关都有一个默认的状态,每辆电车行驶到路口之后,只能从开关所指向的轨道出去,如果电车司机想走另一个轨道,他就必须下车切换开关的状态。比如当N=3时,就有{1-2,1-3}{1-2,2-3}{1-3,1-2}{1-3,2-3}{2-3,1-2}{2-3,1-3}六种不同的打架过程。第一行有3个整数2<=N<=100,1<=A,B<=N,分别表示路口的数量,和电车的起点,终点。输出只有一个数字,表示从A到B所需的最少的切换开关次数,若无法从A前往B,输出-1。
2023-06-18 20:32:31
185
原创 补题赛(5.17)
给你一个整数n,你需要求出从1×1开始扩展n−1次的格子数量。每一次扩展,所有与当前格子有相邻(上下左右)的格子都会被扩展进答案里。
2023-05-30 15:18:18
124
1
原创 天梯赛题解报告
接下来的 N 行,每行是两个数字和两个长度不大于 5 的不包含空格的非空字符串,前两个数字表示需要剪切的位置,后两个字符串表示插入位置前和后的字符串,用一个空格隔开。给定一幅地图,其中有水域,有陆地。2.第 2 轮共 2 场比赛:第 1 轮第 1 场的胜者 vs 第 1 轮第 2 场的胜者,第 1 轮第 3 场的胜者 vs 第 1 轮第 4 场的胜者。2.对于第 i 轮的第 j 场比赛(i>1),由第 (i−1) 轮第 (2j−1) 场比赛的胜者对抗第 (i−1) 轮第 2j 场比赛的胜者。
2023-05-11 00:08:18
378
原创 插入排序详解
插入排序是C语言中的一种简单排序方法其原理还是很好理解的。#include<stdio.h>int main() { int a[11] = {21, 23, 34, 56, 63, 67, 76, 79, 87, 96};//初始数组必须是有序的,有10个元素 int x, k=0;//此处只讲解插入一个数据 scanf("%d", &x); if(x<a[0]){ for(int i=9;i>=0;i--){
2022-12-12 07:41:44
404
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人