合集-洛谷刷题

摘要:题目链接:https://www.luogu.com.cn/problem/P1469#submit 题意:找奇数个筷子的长度 思路:异或运算(如果开map会MLE) 按位异或运算:每个位对比相同为0,不同为1 重要性质: x^x=0, x^0=x 所以我们可以直接算出所有数的异或和,即为答案 其他 阅读全文
posted @ 2025-01-01 20:38 Marinaco 阅读(22) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P3853 题意:给你一段长度,以及一些分割该长度的路标,允许加上k个路标让路标间距离变小,让你求两个路标之间最大的距离 思路: 二分答案,check时把注意力放在相邻的两个路标之间的距离看满不满足你二分出来的答案,如果不满 阅读全文
posted @ 2025-01-02 19:38 Marinaco 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1381 题意:分别给你两个字符串的序列t和序列s,要求你输出在序列s与序列t有多少个相同的字符串,以及相同字符串子串的最小长度 思路: 类似于最小覆盖子串问题 滑动窗口+简单哈希 通过map来存储,序列t中出现的字符串在 阅读全文
posted @ 2025-01-03 15:32 Marinaco 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1111 题意: 有n个村,给你m个信息,1个信息包含存在道路的两个村子以及通路的时间,让你求是否每个村子都能相连,若能相连输出通路最短时间 思路: 并查集+排序 在一个集合中的村子能够相互连通,所以就看本来并查集n个独立 阅读全文
posted @ 2025-01-04 13:12 Marinaco 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1069 题意: 共有m1^m2支试管,一开始有n种单个细胞,第i个细胞每秒能分裂出si个完全相同的细胞(细胞个数的变化:1->si->si*si->si*si*si->...,很重要) 现在求能让任意一种细胞能够被试管均 阅读全文
posted @ 2025-02-24 17:08 Marinaco 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P2758 题意: 给定两个字符串a,b。 有三种操作:删除,插入,替换 求a到b的最小编辑距离 思路: 设dp数组dp[i][j]表示字符串a:0i-1子串到字符串b:0j-1子串的编辑距离 如果a[i-1]=b[j-1] 阅读全文
posted @ 2025-02-25 21:00 Marinaco 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接: https://www.luogu.com.cn/problem/P1352 题意: 给定一棵职员树,父节点为子节点的直接上司,每个员工有其快乐值。 每个员工不会与其直接上司同时参加舞会 求该场舞会邀请人员的最大快乐值 思路: 树形dp 定义状态:dp[i][0]表示不选第i个人,邀请到 阅读全文
posted @ 2025-02-28 16:54 Marinaco 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1017 题意: 将一个数转化为负进制数 思路: 被除数=商*除数+余数 为了将余数化为正数:被除数=(商+1)*除数+(余数-商)(余数一定比商大) 其他按十进制转化来做就行 #include<bits/stdc++.h 阅读全文
posted @ 2025-03-02 18:32 Marinaco 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P4017 题意: 求有多少条最大食物链 思路: 记dp[i]是以第i种生物作为食物链末尾时,最大生物链的条数 所以通过拓补序,每次都转移,最后找到出度为0的点,累加dp即可 注意状态转移以及答案的累加都需要取模 #incl 阅读全文
posted @ 2025-03-04 18:59 Marinaco 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1077 题意: 有n种花,每种花最多摆ai个,总共需要摆m个,求摆花的方案数 思路: 记dp[i,j] 为 以i 作结尾 摆了 j 个花的方案数 dp[i,j] = dp[i,j] + dp[i-1,z] 其中z指的是前 阅读全文
posted @ 2025-03-04 19:29 Marinaco 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P3842 题意: 从上至下有n条线段,每条线段必须走完 求从( 1,1) - > (n,n) 最短路径长度 思路 : 可以认为每一行要把线段走完,那么一定会在其左右端点 因为多走不会使答案更优 记dp[i,0] ,dp[i 阅读全文
posted @ 2025-03-04 20:21 Marinaco 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P2285 题意: 略 思路: 记dp[i]为以i为开头时能打的鼹鼠数目 从后向前枚举 转移条件是后面-前面的时间大于等于二者曼哈顿距离 初始化都为1 #include<bits/stdc++.h> #define rep( 阅读全文
posted @ 2025-03-06 17:10 Marinaco 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1725 题意: 从0开始 ,每次可以跳到 i+l~ i+r 范围上,求跳到大于n后格子的最大val 思路: 线性dp,考虑dp[i]为以i开头时的最大val,那么答案就是dp[0] 转移:res=max(res,dp[p 阅读全文
posted @ 2025-03-06 17:34 Marinaco 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P4933 题意: 给定数组,每次可以任选数组中的元素消除,求能构成等差数列的方案数 思路: 记 dp[i,j] 为以i作结尾,公差为j的等差数列数量 枚举i之前的那些数k j=a[i]-a[k] dp[i,j] <-- d 阅读全文
posted @ 2025-03-06 19:45 Marinaco 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P3952 题意: 模拟,求循环时间复杂度 思路: 首先读入是最重要的, 共有l行,所以循环l次 由于输入格式,所以先输出opt,如果是F,那说明后面还有3个,变量用char存,后面俩个用string存就可以 发现题目给的整 阅读全文
posted @ 2025-03-08 10:12 Marinaco 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P2234 题意:略 思路: 可以用set二分来做,在线插入元素,对set进行lower_bound查找插入的元素 如果没找到说明插入的元素比之前的都大,直接abs(x-big) 如果找到,要看看两侧的哪个差值与插入的元素小 阅读全文
posted @ 2025-03-09 18:40 Marinaco 阅读(1) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1036 void dfs(int n,int k,int cnt,int i,int res) { if(cnt==k){ bool ok=true; for(int i=2;i*i<=res;i++){ if(res% 阅读全文
posted @ 2025-03-09 19:59 Marinaco 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/discuss?forum=P1106 题意: 给定一个长整数,删去其中k个数,使最终的数最小 思路: 发现从左至右,如果一个数大于后面相邻的那一个数,则贪心地想将这个数删掉会使答案更优 删除某个数可以用字符串函数 s.erase(i,1) 阅读全文
posted @ 2025-03-12 15:56 Marinaco 阅读(2) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P4551 题意: 给定义一颗带权树,求其中两个节点边权异或和最大值 思路: 结论是:树上两个节点i,j由于 x ^ x=0 的异或性质,所以其异或和为(根节点,i)路径异或和 xor (根节点,j)路径异或和 所以dfs求 阅读全文
posted @ 2025-03-13 19:37 Marinaco 阅读(3) 评论(0) 推荐(0) 编辑
摘要:题目链接:https://www.luogu.com.cn/problem/P1379 题意: 求将初始状态转移至目标状态的最小步数(每次移动‘0’) 思路: 需要将每个状态记录在一个map表里,当出现新的状态时才将其加入,否则不加入(因为如果以前出现过,那么现在的状态肯定更劣) 将每个状态转化为字 阅读全文
posted @ 2025-03-14 16:56 Marinaco 阅读(3) 评论(0) 推荐(0) 编辑

//雪花飘落效果
点击右上角即可分享
微信分享提示