![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
牛客、洛谷及其他
文章平均质量分 53
knookda
这个作者很懒,什么都没留下…
展开
-
2023年中国传媒大学程序设计大赛(同步赛)A — E
至少拿出多少只可以保证配对也就是最多可以拿出多少只不配对,可以通过拿不同图案,每种图案的贡献值取左右脚之中的较大者,对于。统计可以获得的各类能量值,判断是否可以满足所有咒语的要求,要额外注意无色费用的情况。可以枚举出对于9个二进制位进行操作的所有状态,找到某在一种状态下操作的最小值。,01表示状态,而翻转操作就相当于将对应位置上的数与1进行一次异或操作。计算每天吃的食物饱腹感的值,判断是否满足要求并计数即可。统计过程中顺便判断是否能配对。根据输入打出相对应个数的0即可。可以将3*3矩阵抽象成为9位的。原创 2023-03-22 19:36:49 · 546 阅读 · 0 评论 -
2023年中国高校计算机大赛-团队程序设计天梯赛(GPLT)上海理工大学校内选拔赛(同步赛) A — E
每输入一个点判断其八个方向上是否已经被放过即可,不过判断时暴力手法得判断会超时,我们可以通过判断是否在一条直线上的方式来判断会不会冲突。表示:A选项选了i个,B选项选了j个,C选项选了k个,D选项选了f个,所得期望的值的集合。可以看作两个木棒把一个桌面分成了四个部分,带入点坐标根据数值得结果可以判断在哪个部分。可以通过按照早上和晚上吃苹果愉悦值得差值来排序,差值越大得越优先被处理贡献值越大。只有相同数字异或结果才为零,统计一下相同数字出现的次数,排列组合即可。横向和纵向的比较简单,问题是处理两个对角线。原创 2023-03-11 20:25:07 · 2871 阅读 · 1 评论 -
Sleepy Cow Sorting G
先将后缀中的数字后加入到树状数组中,每移动一个数字就更新一次树状数组,相应的赋值为1,此后缀中比。也会相应的产生变化,为此我们需要一个数据结构来维护后缀,可以使用树状数组进行维护。的后缀来说,它们是不需要移动的,所以移动的次数为。每次移动的距离应该为其到后缀的距离加上此后缀中比。对于一个连续递增的长度为。由于后缀是在变化的则。原创 2023-03-09 15:40:38 · 239 阅读 · 0 评论 -
教主的花园(动态规划)
教主希望这一圈树种得有层次感,所以任何一个位置的树要比它相邻的两棵树的高度都高或者都低,并且在此条件下,教主想要你设计出一套方案,使得观赏价值之和最高。还需要注意,既然花园是环形的,第一棵树和最后一颗树就算是相邻的,此两种树也不可以时同一种树我们可以通过枚举第一棵树时那种树,再进行操作,随时更新极大值即可。园的土壤很特别,每个位置适合种的树都不一样,一些树可能会因为不适合这个位置的土壤而损失观赏价值。种树且比其两边的树(k=1)高(k=0低)的观赏价值的集合,目的是求种下树后最大的观赏价值。原创 2023-02-08 14:49:42 · 383 阅读 · 0 评论 -
P2072 宗教问题
已知一个地方有M种宗教(编号为1—M),有N个教徒(编号为1—N),每个教徒信且只信一种宗教。现在要按顺序把这N个教徒分成一些集体,每个集体的危险值定义为这个集体中的宗教种数,且一个集体的宗教种类不能超过K种,否则就会无限危险,的思想进行解题,而本题由两问,可以设定两个集合分别求解。(1原创 2022-09-20 21:06:41 · 246 阅读 · 0 评论 -
书本整理
去掉 k 本书也就相当于选出 m = n - k 本书,则题目可以转变为选出 m 本书使得不整齐度最小。发现,由于很多书的宽度不同,所以书看起来还是非常不整齐。于是他决定从中拿掉k本书,使得书架可以看起来整齐一点。他有一大堆书和一个书架,想要把书放在书架上。书架可以放下所有的书,所以。对于最顶层的一本书不会产生差值,所以我们从第二本开始考虑。书架的不整齐度是这样定义的:每两本书宽度的差的绝对值的和。已知每本书的高度都不一样,请你求出去掉k本书后的最小的不整齐度。不整齐度就是2+3+2=72+3+2=7。原创 2022-09-06 07:24:00 · 121 阅读 · 0 评论 -
守望者的逃离
守望者的跑步速度为 17m/s以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在 1s 内移动 60m不过每次使用闪烁法术都会消耗魔法值 10点。守望者的魔法值恢复的速度为4 点每秒,只有处在原地休息状态时才能恢复。现在已知守望者的魔法初值 M,他所在的初始位置与岛的出口之间的距离 S岛沉没的时间 T。你的任务是写一个程序帮助守望者计算如何在最短的时间内逃离荒岛,若不能逃出,则输出守望者在剩下的时间内能走的最远距离。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。原创 2022-09-05 20:28:11 · 115 阅读 · 0 评论 -
Haircut(剪发)
他有一排 N 缕头发,第 i缕头发初始时长度为 A_i 微米理想情况下,他想要他的头发在长度上单调递增,所以他定义他的头发的“不良度”为逆序对的数量:满足 i < 及 A_i > A_j的二元对 (i,j)(例如,当 j 为 3时,我们求得每个3前大于3(即为4与4+)的数字个数之和,也就是 j 等于4时增加的逆序对数。−1,Farmer John 想要知道他所有长度大于 j的头发的长度均减少到 j时他的头发的不良度。,因比a[i]小的数会先遍历到,相应的树状数组的位置的值位置会置0,所以。...原创 2022-08-16 14:54:32 · 959 阅读 · 0 评论 -
Light Switching--线段树
进行实现,0 为暗灯 1 为亮灯,则一段区间的区间和即为亮灯个数,当进行操作后,总灯数减去操作前的亮灯数即为操作后的亮灯数。然后我们在进行具体分析。因需要对区间进行性操作,所以需要懒标记。灯有两种状态,每一次操作状态都会取反。剩下就是输入输出以及建树等操作详见代码。将懒标记向下传递,用异或来取反状态。这类语句中,我们可以联想到。......原创 2022-08-12 09:26:03 · 102 阅读 · 0 评论 -
种树(差分约束)
因第一个不等式中涉及到i-1所以我们引入0号点来补全关于1的条件,建图、跑最长路即可。某条街被划为n条路段,这n条路段依次编号为1∼n。每个路段最多可以种一棵树。请问如果要满足所有居民的建议,至少要种多少棵树。差分约束最重要的环节就是找到不等关系。在地区b和e之间种至少t棵树可以理解为。等限制字眼,可以引导问们去向是否存在一定的。...原创 2022-07-28 21:19:25 · 166 阅读 · 0 评论 -
旅行计划(拓扑+dp)
使用此方程的前提是,需要有一个各个点的前后关系(为满足dp的无后效性原则)。到达每个城市经过的点数与它前边的城市有关即。,我们就可以得到各个点的前后关系。不一定只有一个,所以我们可以得到。,即所需要得到状态转移方程。...原创 2022-07-24 16:08:26 · 79 阅读 · 0 评论 -
Timeline(时间线)
若将每次挤奶看作一个点,间隔时间看作边权,则可以得到一个**有向无环图**。可以创造一个虚拟原点,向`i`连边,边权为设定的不早于的天数。题目要求的是**最早**,但要同时满足三元组和Si两个限制即`dist[j] >= max(Si, dist[i] + w)`(i为j的前一天),为了使结果最小取等即可。下面提供两种解题方法......原创 2022-07-24 10:30:31 · 523 阅读 · 0 评论 -
Tractor(拖拉机)
本文主要以**生成树**的思路来进行分析求解。在克鲁斯卡尔算法中,我们的边是**按边权从小到大选取**的,当选到第条`n`时以满足要求,则第`n`条变的边权即为答案。在求解过程中原创 2022-07-23 16:40:31 · 253 阅读 · 0 评论 -
兽径管理(生成树)
可以推测出求解的是最小生成树,但是可选边时逐渐增加的,如果正向每集一条边求一次最小生成树时间复杂度会较大,这时候我们可以逆向考虑。,用数组统一存放输出即可。原创 2022-07-21 20:58:21 · 150 阅读 · 0 评论 -
雷雨(最短路)
此题用到了三维的dist数组,也用到了一种新的求最短路的思路。原创 2022-07-20 16:56:57 · 195 阅读 · 0 评论 -
奶牛跨栏(弗洛伊德)
数据**范围较小**且需要知道**任意两点之间**的结果,可向**弗洛伊德算法**源算法球的的事最短路,儿此题求的是路径上的最高点最小需要改变一下方程如下:原创 2022-07-15 21:12:07 · 117 阅读 · 0 评论 -
贪婪的copy
Copy从卢牛那里听说在一片叫yz的神的领域埋藏着不少宝藏,于是Copy来到了这个被划分为个区域的神地。卢牛告诉了Copy这里共有个宝藏,分别放在第Pi个(1原创 2022-07-13 14:50:37 · 55 阅读 · 0 评论 -
[YsOI2020]植树
Ysuperman 有一棵 nn 个节点的无根树 TT。如果你不知道树是什么,TA 很乐意告诉你,树是一个没有环的无向联通图。既然树是无根的,那就没有办法种植。Ysuperman 研究了很久的园艺,发现一个节点如果可以成为根,它必须十分平衡,这意味着以它为根时,与它直接相连的节点,他们的子树大小都相同。你作为幼儿园信息组一把手,Ysuperman 给你一棵树,你能在 1s1s 内找到所有可能成为根的节点吗?大致思路为求出每个节点作为根节点时,是否满足条件。每个子树的节点个数时时必须要知道的。我们可以任意选取原创 2022-06-22 17:15:29 · 251 阅读 · 0 评论 -
产生数(弗洛伊德)
题目分析一个整数上每一位可变换的种类数u相乘即为产生数的种类。数之间的存在的变换关系可以为直接或者间接,并且数字变化的范围只有0~9九种,可以用弗洛伊德求出u。由于数据范围较大,应用高精度乘法代码#include<bits/stdc++.h>using namespace std;const int N = 15;int n, m, k, t;int st[N][N], f[N], a[110];string s;void floyd(){ for(int原创 2022-05-30 10:49:54 · 365 阅读 · 0 评论 -
奶酪(巧用并查集)
原题思路从题意来看明显可以使用宽搜但是也可以从集合的角度应用并查集求解(从大佬的博客受到启发)将能连在一起的洞看作一个集合最后判断是否有一对通向底部并且通向顶部的点在同一个集合有的话即课满组题意所需条件代码#include<bits/stdc++.h>using namespace std;const int N = 1010;typedef long long ll;//不用long long会爆掉ll n, m, t;ll x[N], y[N], z[原创 2022-04-03 20:21:55 · 623 阅读 · 0 评论 -
模拟战役(洪水漫盖)
原题思路可以看作大炮形成的八连通齐齐一方每次统计连通块中大炮的数量尽量先用大炮少的连通块攻击若七七一方连通块数量小于司机一方,则其不可能获胜代码#include<bits/stdc++.h>#define x first#define y secondusing namespace std;const int N = 450;typedef pair<int , int> PII;char a[N][N], b[N][N];PII q[N *原创 2022-03-29 20:51:12 · 303 阅读 · 1 评论