自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 洛谷新题 U487375 棕兔舞步旋 |【模版】快速输出

这道题虽说是黄题,但难度可以算是“黑题”了,本质上是为了纪念小粉兔完成洛谷名字颜色全收集成就而特意出的。

2024-10-08 18:19:43 160

原创 洛谷 P3065 [USACO12DEC] First! G

所以将所以字符串建成一棵字典树,然后再在字典树上遍历每一串字符串,如果有字符串已经是他的前缀,无论怎么改变26个字母的排列也无济于事,否则判断优先级,及上一段所说的情况二;现在要使mmb的优先级大于mma的优先级,他们都有相同的mm前缀,那么要使s2的优先级大,就要使b的优先级大,及相同前缀后面部分的优先级大,跟之前所说的一样。构造这样的图,此时a,b在拓扑排序后的顺序是在同一层的,所以可以瞎把a,b交换位置都可以,故可以将a,b交换位置使得s2的优先级大于s1;

2024-09-13 15:00:26 496

原创 洛谷 P4683 [IOI2008] Type Printer

当时想法:当时看了题目标签,就有思路了(见代码注释),但一直RE+WA最后只剩下RE。众所周知,字典树很好地利用了字符串的公共前缀,这也就是上一行出现的原因。如果我们想要操作数尽可能少,那我们的删除数的操作就要尽可能的少。首先,有一个点大大的降低了题目难度,就是。打印结束时,允许有部分字母留在打印机内。题目本质:深搜,字典树Trie。我们使用字典树来完成。

2024-09-13 14:30:54 396

原创 洛谷 P7391 「TOCO Round 1」自适应 PVZ

题目思路:把僵尸出现时刻和走进房子时刻想成左端点和右端点,按照右端点从小到大排序。第二对于同样可以使用的豌豆射手,我们一定选择上次攻击时间最近的豌豆射手攻击僵尸,因为这样可以更灵活的攻击后面的僵尸。题目本质:贪心,排序,平衡树。

2024-09-10 18:33:29 159

原创 洛谷 P1039 [NOIP2003 提高组] 侦探推理

记录每一句话是谁说的以及这句话的内容,可以用map存人名对应的下标,我们枚举每一个人i,假设i是罪犯,然后枚举今天是星期几,用day表示。T是说真话的人数,F是说假话的人数 ,设罪犯为 i ,设flag为这句话是真话还是假话,flag=1是真话,flag=0是假话。=flag就是出现了矛盾(因为一个人始终直说一种话),判断不出来了,直接return去枚举下一个人是罪犯 ,如果F>n或者T>m-n了,也就是说假话的人数超过了题目中给的人数,矛盾,return。题目本质:模拟,字符串,差分,模拟。

2024-09-10 18:18:12 414

原创 洛谷 P10798 「CZOI-R1」消除威胁

后来看了洛谷题解才晓得原来用比这个代码短多了的方法就能实现,注意到可以进行任意次取反操作,而对同一个数做两次取反相当于没做,所以问题可以转化成每一个数取不取反。如果当前元素小于栈顶元素,就直接插进去。如果当前元素大于栈顶元素,破坏了单调栈的单调性,就一直弹栈顶元素,弹到栈顶元素小于等于当前元素。如果栈顶元素等于当前元素,那么以栈顶元素为开始的连续威胁区间个数cnt(stop​))加 1。解题思路:由于昨天联练习了平衡树,我就用平衡树+STL打了个暴力,超时得了30分。题目本质:贪心,st表,单调栈。

2024-09-09 22:09:12 302

原创 洛谷 P10119 『STA - R4』踱步

设 fi,k,op​ 表示对于前 i 个位置,强制在 i+1 分钟初踱步,总共踱步 k 次,且第 i 分钟在屋内(op=0)或屋外(op=1)的最大答案。题目本质:动态规划及优化,单调队列。

2024-08-25 16:09:50 151

原创 洛谷 P2254 [NOI2005] 瑰丽华尔兹

注意(x,y)与(x',y')必定是在同一列或同一行上的,但不一定相邻。i表示的是第i个时间段结束后,(x,y)这个位置最长的滑行距离。题目本质:动态规划,单调队列。

2024-08-25 15:23:12 228

原创 洛谷 P2569 [SCOI2010] 股票交易

方程f[i][j]表示第 i 天结束后,手里剩下 j 股的最大利润,则不买不卖:f[i][j]=f[i-1][j]。买入:f[i][j]=max{f[i-w-1][k]+k*ap[i]}-ap[i]*j。卖出:f[i][j]=max{f[i-w-1][k]+k*bp[i]}-bp[i]*j。题目本质:动态规划,单调队列。

2024-08-25 14:38:13 256

原创 洛谷 P4516 [JSOI2018] 潜入行动

假设当前合并两个背包f[u][a][p1][q1] 和f[v][b][p2][q2] ,其中 v 是 u 的儿子。考虑合并后的f[u][a+b][p3][q3],q3 是合并后点 u 是否被监听,有两种情况:u 之前已经被监听,u 现在被 v 监听。即:q3=q1∣p2。题目本质:背包,树形dp。

2024-08-22 16:07:02 162

原创 洛谷 P2605 [ZJOI2010] 基站选址

转移方程为f[i][j]=Min(f[k][j−1]+cst[k][i])+c[i](j−1≤k<i)。其中cst[k][i]表示第i~k个村庄之间没有被基站i,k覆盖的村庄所需的赔偿费用。解题思路:f[i][j]表示在第𝑖i个村庄修建第j个基站且不考虑第i+1~n个村庄所需的最小费用。题目本质:动态规划dp,线段树。

2024-08-22 15:08:52 135

原创 洛谷 P2466 [SDOI2008] Sue 的小球

边界:初始点不一定有球,我们可以在初始点设置一个损耗为0的球,与其他球一起排序,然后初始点编号为i的话就让。再掉头回来的最小损耗值。小区间可以推出大区间,所以要先枚举区间长度再枚举区间起点。即可(表示第一步没有损耗),其余值随意,最好设为。就是最小损耗,记得除以1000。题目本质:动态规划,区间dp。

2024-08-20 16:37:58 245

原创 洛谷 P3607 [USACO17JAN] Subsequence Reversal P

题目思路:设一个数组dp[l],[r],[L],[R]​,表示从。题目本质:动态规划dp,枚举。

2024-08-20 16:18:52 220

原创 洛谷 CF295C Greg and Friends

题目本质:模拟,动态规划dp,枚举。

2024-08-19 16:39:38 187

原创 洛谷 CF295D Greg and Caves

解题思路:将整个洞分成两半,一半递增,一半递减。我们分别 DP 求值,最后合并。状态转移方程为:dpi,j​=k=2∑j​(j−k+1)dpi−1,k​+1。枚举极大最长行区间来代替最长行。题目本质:动态规划dp,枚举。

2024-08-19 16:28:10 220

原创 洛谷 P6005 [USACO20JAN] Time is Mooney G

解题思路:设fi,j​表示第i天到达城市j的最大收益。题目本质:动态规划dp。

2024-08-19 15:55:37 153

原创 洛谷 P5424 [USACO19OPEN] Snakes G

设f[i][j]表示前𝑖i条蛇,改变j次大小所得到的最小剩余空间,g[i][j]表示区间[i,j]的空余空间。可以得到如下转移方程:𝑓[𝑖][𝑗]=𝑚𝑖𝑛(𝑓[𝑖][𝑗],𝑓[𝑘][𝑗−1]+𝑔[𝑘+1][𝑖])。k为我们枚举的一个断点,表示[k+1,i]这段区间用同一大小的网。题目本质:动态规划DP。

2024-08-19 14:10:13 207

原创 洛谷 P6280 [USACO20OPEN] Exercise G

然后需要计算所有K的和,就是计算所有符合条件的质数的乘积的和。其次根据唯一分解,一些数的最小公倍数就是除了1以外其它各个数分解质因数后各个质数的最大次幂相乘。最后,枚举每个质数取几个的情况,设dp(i,j)为用了前i 个质数组成的环的长度的和为j 的时候的所有满足条件的K的值。首先,分析题目发现,某个排列的需要进行恰好 K 步变回原样,这个时候K的值就是这个排序中各个环的长的的。题目本质:dp,素数筛法,质数。本题与P4161基本一模一样。

2024-08-18 17:52:23 336

原创 洛谷 P4817 [USACO15DEC] Fruit Feast G

解题思路:题目中只规定了Bessie吃两种水果的饱和度,可以将背包转化为搜索来解决。每一次搜索,把吃橙子和柠檬的情况都处理一次,又因为只能喝一次水,只需要用bool类型的判断一下,记住处理越界的情况。这个代码只能得部分分,因为在深搜的时候,就会处理所有可能的答案和情况,导致超时。可以使用一个数组来存储搜到的答案,搜到的第一个答案就是正解。题目本质:枚举,完全背包。

2024-08-18 15:44:58 171

原创 洛谷 P5020 [NOIP2018 提高组] 货币系统

a[i]=0表示没有i这个数,a[i]=1表示可以凑出i这个数,a[i]=2表示本身就有i这个数。如果处理完成之后a[1~n]中还有等于2的(即本身就有这个数并且不能凑(只能他凑别人))就让ans++,最后输出就好了。记得初始化ans=0.错误原因:没有将记录答案的ans初始化为0。题目本质:dp,数学,贪心,背包。使用a[i]来表示不同情况,

2024-08-18 15:20:07 178

原创 洛谷 P6359 [CEOI2018] Cloud computing

题目思路:dp[i][j] 表示考虑前 i 台计算机,能够获得 j 个核心时,所能获得的最大价值。将其可以优化为dp[i] 表示能够获得 i 个核心时,所能获得的最大价值。将数组初始化为无穷小,利用max找最大值,用cnt记录最大利润。题目本质:贪心+01背包(dp)

2024-08-18 14:51:44 168

原创 梦熊 数学题

【代码】梦熊 数学题。

2024-07-20 19:07:38 126

原创 梦熊 跳蚤市场

【代码】梦熊 跳蚤市场。

2024-07-18 19:23:54 107

原创 梦熊 斗地主

【代码】梦熊 斗地主。

2024-07-17 20:22:32 90

原创 洛谷 P3368 【模板】树状数组 2 题解返回题目

【代码】洛谷 P3368 【模板】树状数组 2 题解返回题目。

2024-06-05 21:28:18 109

原创 C++线性同余方程模板

【代码】C++线性同余方程模板。

2024-06-04 11:16:52 274

原创 C++扩展欧几里得算法模板

【代码】C++扩展欧几里得算法模板。

2024-06-04 11:11:59 127

原创 C++快速幂求逆元模板

【代码】C++快速幂求逆元模板。

2024-06-04 11:09:55 348

原创 C++快速幂模板

【代码】C++快速幂模板。

2024-06-04 11:08:12 584

原创 C++求欧拉函数模板

【代码】C++求欧拉函数模板。

2024-06-04 10:48:39 316

原创 筛法求欧拉函数模板

【代码】筛法求欧拉函数模板。

2024-06-04 10:47:34 341

原创 洛谷 P1835 素数密度

【代码】洛谷 P1835 素数密度。

2024-06-02 20:51:53 88

原创 洛谷 P1894 [USACO4.2] 完美的牛栏The Perfect Stall

如果第二只牛可以匹配到第一个牛栏,而这时第一只牛又有另一种匹配选择,那么第二只牛就匹配上第一个牛栏,第一只牛去找另一个牛栏来匹配,以此类推。虽然本质上是二分图,但我好像没用,我直接食用的匈牙利算法,直接出来了。先遍历牛,把第一只牛匹配上第一个牛栏,然后再对第二只牛进行匹配。把牛和牛栏分成两个集合 每只牛可以匹配至少一个牛栏。(匈牙利算法不太明白的,详见。

2024-05-30 21:25:06 318

原创 洛谷 P1194 买礼物

题目本质:图论+生成树。

2024-05-30 20:40:27 162

原创 洛谷 P2580 于是他错误的点名开始了

接下来 $n$ 行,每行一个字符串表示其名字(互不相同,且只含小写字母,长度不超过 $50$)。- 对于 $70\%$ 的数据,$n\le 10^4$,$m\le 2\times 10^4$。接下来 $m$ 行,每行一个字符串表示教练报的名字(只含小写字母,且长度不超过 $50$)。- 对于 $40\%$ 的数据,$n\le 1000$,$m\le 2000$。- 对于 $100\%$ 的数据,$n\le 10^4$,$m≤10^5$。第 $n+2$ 行一个整数 $m$,表示教练报的名字个数。

2024-05-30 20:38:03 499

原创 洛谷 CF1209D Cow and Snacks

对每个连通块进行分析:第一个客人买走 2朵,之后的客人每人买走 1 朵,这样在一个点数为 cnt的连通块中,可以满足 cnt-1个客人。这样便可使被满足的客人最多。则最终答案就是 k-(n-ans)=k-n+ans。我们以每种化为一个点,以每个客人喜欢的两朵花给两朵花连一条无向边。则会出现一定数目的连通块,连通块总个数为 ans。

2024-05-27 21:22:32 308

原创 洛谷 P2330 [SCOI2005] 繁忙的都市

n个节点用n-1条边连起来的图形只能是树(所以第一个输出就是n-1),然后边权要小,那么就是最小生成树了。因为它要求连接所有边,且边要少,边权要小。

2024-05-27 21:01:08 194

原创 洛谷 P1346电车

可以把一个路口看作一张图中的一个点,轨道是图中的边(注意:这是有向图),每一条边的权值就是这个边所联通的点是否需要按按钮(需要按按钮就是1,不需要按按钮就是0)然后就用求最短路径的算法算出最少需要按的开关数。

2024-05-27 20:49:01 543

原创 P1113 杂务

John 的农场在给奶牛挤奶前有很多杂务要完成,每一项杂务都需要一定的时间来完成它。计算出所有杂务都被完成的最短时间。当然互相没有关系的杂务可以同时工作,并且,你可以假定 John 的农场有足够多的工人来同时完成任意多项任务。John 有需要完成的 nn 个杂务的清单,并且这份清单是有一定顺序的,杂务 k\ (k>1)k (k>1) 的准备工作只可能在杂务 11 至 k-1k−1 中。第1行:一个整数 n\ (3 \le n \le 10{,}000)n (3≤n≤10,000),必须完成的杂务的数目;

2024-05-15 21:45:17 328

原创 P1137 旅行计划

所以他就需要选择最先到达的城市,并制定一条路线以城市 ii 为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。小明要去一个国家旅游。这个国家有 NN 个城市,编号为 11 至 NN,并且有 MM 条道路连接着,小明准备从其中一个城市出发,并只往东走到城市 ii 停止。接下来 MM 行,每行两个正整数 x, yx,y,表示了有一条连接城市 xx 与城市 yy 的道路,保证了城市 xx 在城市 yy 西面。均选择从城市 11 出发可以得到以上答案。

2024-05-15 21:44:19 645

空空如也

空空如也

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

TA关注的人

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