![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
洛谷
文章平均质量分 54
Star_.
这个作者很懒,什么都没留下…
展开
-
P1257 平面上的最接近点对
给定平面上 nn个点,找出其中的一对点的距离,使得在这 n 个点的所有点对中,该距离为所有点对中最小的。原创 2022-10-24 19:09:12 · 332 阅读 · 0 评论 -
P4017 最大食物链计数(假dp,真拓扑排序+链式前向星)
本来想用动态规划做的,结果一提交居然错了,当时看大佬都用拓扑排序来做,自己也来试试,真的可以。拓扑排序中,将入度为0的点入队,然后减去该结点的出度结点的连线,若某个出度结点的入度也为0时也入队,直到队列为空。在本题中,我们用dp[i]代表以i为最厉害的动物结尾的最大食物链数,那么,dp[i]+=dp[j],其实,j为与被i吃掉,也就是比i弱一点点的动物。原创 2022-10-08 22:12:35 · 219 阅读 · 0 评论 -
P1908 逆序对
写给自己复习看,归并排序下,将数组每次都从中间分开,直到分的数组里只有1个元素,接下里是并,现在依次对比分开的数组元素大小,(借用下大佬的图片)然后左边的元素比右边的大,就交换位置,归并到上一个层级之后继续归并,直至数组归并到n。分治,正好练一练,没想到把归并排序也复习了一下,确实有点忘记了。这题是归并排序的应用,也可以用树状数组来做。原创 2022-09-25 15:12:00 · 160 阅读 · 0 评论 -
P1433 吃奶酪(DFS+状压dp)
用一个二进制数来记录走过的点,另一个数记录老鼠所在的点,如果之后搜到的答案比这个点要大,就不继续搜。房间里放着 nn 块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在 (0,0)(0,0) 点处。状压dp是利用二进制来表达状态,将一个状态压缩为一个数,从而可以节省空间。状压dp跟位运算有很大联系,位运算我也不太懂。接触状压dp,之前可能接触过没仔细学。下图是一些位运算的操作。...原创 2022-08-17 12:36:31 · 296 阅读 · 0 评论 -
P1163 银行贷款
假设 n为贷款的原值,m为每月支付的分期付款金额,k为分期付款还清贷款所需的总月数,且利率按月累计。就好比如,你第一个月的利率为(1+p),第二个月的利率就为(1+p)^2,依次类推。(银行利率不太懂,简单记录一下)...原创 2022-08-03 11:24:01 · 280 阅读 · 0 评论 -
P4924 [1007]魔法少女小Scarlet
P4924 [1007]魔法少女小Scarlet本来想练练手的,然后我就被数学缠住了,矩阵的旋转公式真的学到了1.点(x,y)绕原点逆时针旋转α得到(x’,y’)的公式 x’=xcosα-ysinα y’=xsinα+ycosα2.顺时针旋转α,即逆时针旋转 -α, 用-α代替上面的α, 并根据公式cos(-α)=cosα,sin(-α)=-sinα得 x’=xcosα+ysinα y’=-xsinα+ycosα3.旋转中心为(a,b),在利用上面的公式时,需要把(a,b)原创 2022-05-21 20:43:59 · 137 阅读 · 0 评论 -
洛谷P1197 [JSOI2008]星球大战
最近发生一些事情,情绪有点不稳定,现在事情解决的差不多了。今天是考研出分的日子,祝所有为之奋斗的学长学姐一研为定,定在研一前几天的力扣练的基础题就不写啦,就写个洛谷上一个并查集加图论的题,这道题可烦死我啦。第一,并查集之前用的很少,不过现在差不多很熟了,感谢这道题,又悲又喜。第二,链式前向星用的不太熟练,找了很长时间才找出来在遍历的时候出错的。很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治着整个星系。某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有原创 2022-02-21 10:58:36 · 91 阅读 · 0 评论 -
洛谷P1168 中位数
原题链接看标签是线段树,树状数组,之前学的线段树,树状数组啥的都差不多忘记了,以为这会是一样持久战,没想到看题解时看见了一个神仙题解。利用动态数组vector和upper_bound函数居然过了我第一次知道insert加上upper_bound居然可以排序。这样居然就省去了我们最耗时的排序问题#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll INF=0x7fffffff;const原创 2022-02-15 20:27:29 · 479 阅读 · 0 评论 -
洛谷P1144 最短路计数
给出一个N个顶点M条边的无向无权图,顶点编号为1-N。问从顶点1开始,到其他每个点的最短路有几条。原题链接spfa与链式前向星的结合,算是一个模板题#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll INF=0x7fffffff;const int N = 1e6+5;const int mod=100003;int n,m;struct node{ int x;原创 2022-02-15 19:14:22 · 703 阅读 · 0 评论 -
洛谷-P1107 [BJWC2008]雷涛的小猫
雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的)。在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了。可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆…在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有 NN 棵。并且这 NN 棵柿子树每棵的高度都是HH。冬天的寒冷渐渐笼罩了大地,树上的叶子渐渐掉光了,只剩下一个个黄澄澄的柿子,看着非常喜人。而雷涛的小猫恰好非常的爱吃柿子,看.原创 2022-02-14 13:14:23 · 276 阅读 · 0 评论 -
洛谷 P1137 旅行计划
题目描述小明要去一个国家旅游。这个国家有N个城市,编号为1至N,并且有MM条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止。所以他就需要选择最先到达的城市,并制定一条路线以城市i为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。现在,你只知道每一条道路所连接的两个城市的相对位置关系,但并不知道所有城市具体的位置。现在对于所有的i,都需要你为小明制定一条路线,并求出以城市i为终点最多能够游览多少个城市。输入格式第11行为原创 2022-02-12 15:03:55 · 118 阅读 · 0 评论 -
P1124 文件压缩
该算法具体如下:对一个长度为n的字符串S,首先根据它构造n个字符串,其中第i个字符串由将S的前i-1个字符置于末尾得到。然后把这n个字符串按照首字符从小到大排序,如果两个字符串的首字符相等,则按照它们在S中的位置从小到大排序。排序后的字符串的尾字符可以组成一个新的字符串S’,它的长度也是n,并且包含了S中的每一个字符。最后输出S’以及S的首字符在S’中的位置p。举例:S:example1.构造 n 个字符串examplexampleeampleexmpleexapleexamleex.原创 2022-02-08 13:36:02 · 834 阅读 · 0 评论 -
作业调度方案
我们现在要利用m台机器加工n个工件,每个工件都有m道工序,每道工序都在不同的指定的机器上完成。每个工件的每道工序都有指定的加工时间。每个工件的每个工序称为一个操作,我们用记号j-k表示一个操作,其中j为1到n中的某个数字,为工件号;k为1到m中的某个数字,为工序号,例如2-4表示第2个工件第4道工序的这个操作。在本题中,我们还给定对于各操作的一个安排顺序。例如,当n=3,m=2时,“1-1,1-2,2-1,3-1,3-2,2-2”就是一个给定的安排顺序,即先安排第1个工件的第1个工序,再安排第1个工件.原创 2022-02-07 13:13:11 · 201 阅读 · 0 评论 -
p1082同余方程
本题用到扩展欧几里得算法,没学过啊,看大佬的解释才懂了一点数论的海好深p1082同余方程与扩展欧几里的算法代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll x,y;void exgcd(ll a,ll b){ if(b==0){ x=1; y=0; return; } exgcd(b,a%b); ll tem.原创 2022-02-06 12:12:59 · 182 阅读 · 0 评论 -
金明的预算方案
金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间金明自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早,金明就开始做预算了,他把想买的物品分为两类:主件与附件,附件是从属于某个主件的,下表就是一些主件与附件的例子:主件 附件 电脑 打印机,扫描仪 书柜 图书 书桌 台灯,文具 工作椅 无如果要买归类为附件的物品,必须先买该附件所属的主件。每个主件可以有0个、1个或2个附件。附件不再有从属于自己的附件。金明.原创 2022-02-06 12:07:02 · 261 阅读 · 0 评论 -
周总结(链式前向星,洛谷)
电脑坏了就很离谱,我的操作中心都打不开了,自己重装了下系统,花了很长时间才装好,然后office也给我整没了,我又花了很长时间破解了下。还误把java作业给整没了,幸亏邮箱里大部分都有备份。在我做数据结构的时候求关键路径的时候,觉得用简单的邻接表和邻接矩阵做起来题很麻烦的,然后就查资料,发现了用vecter和链式前向星来储存图。看完后直呼厉害。链式前向星在另一篇博客 传送(链式前向星)然后刷了洛谷题刷的dp题,有的题在上学期的acm课程作业上大同小异。P1280 尼克的任务尼克每天上班之前都连接原创 2021-11-27 22:52:55 · 227 阅读 · 0 评论 -
2021年11.20周总结
这周继续刷搜索的题,然后中途遇到了几个很狗的题,就再后几天做了几天的dp,最近有点慌考试,自己也有点偷懒了。考虑将如此安排在一个 3 \times 33×3 行列中的九个时钟:P1213 [USACO1.4][IOI1994]时钟 The Clocks目标要找一个最小的移动顺序将所有的指针指向 1212 点。下面原表格列出了 99 种不同的旋转指针的方法,每一种方法都叫一次移动。选择 1 \sim 91∼9 号移动方法,将会使在表格中对应的时钟的指针顺时针旋转 9090 度。移动方法 受影响的时钟原创 2021-11-20 16:39:44 · 574 阅读 · 0 评论 -
2021年11.13周总结
这周继续刷搜索的题,从刷题中知道了一些之前不知道的技巧与思想P1120 小木棍乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 5050。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。思路:一看是求最小长度,就想的是用队列的广度优先搜索,然后就wr了,看了题解,知道了这是一道DFS,这个题需要一个一个数开始遍历,直到找到适合的长度。所以在进行搜索时就需要大量的剪枝了。剪枝1:所原创 2021-11-13 15:54:16 · 384 阅读 · 0 评论 -
2021.11.06总结
这周一直在刷搜索和dp的题,偶尔碰见dp加搜索的综合题,还打了一场cf,虽然结果不太好,差一点c就出了。自己有点菜,还需慢慢变强P1052 过河在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,\cdots,L0,1,⋯,L(其中 LL 是桥的长度)。坐标为 00 的点表示桥的起点,坐标为 LL 的点表示桥的终点。青蛙从桥的起点开始,不停的向原创 2021-11-06 20:12:19 · 1886 阅读 · 0 评论 -
洛谷普及+第一周
设有 N \times NN×N 的方格图 (N \le 9)(N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 00。如下图所示(见样例):A0 0 0 0 0 0 0 00 0 13 0 0 6 0 00 0 0 0 7 0 0 00 0 0 14 0 0 0 00 21 0 0 0 4 0 00 0 15 0 0 0 0 00 14 0 0 0 0 0 00 0 0 0原创 2021-09-26 20:09:18 · 130 阅读 · 0 评论