题目背景 四次死亡轮回后,昴终于到达了贤者之塔,当代贤者夏乌拉一见到昴就上前抱住了昴“师傅!你终于回来了!你有着和师傅一样的魔女的余香,肯定是师傅”.众所周知,大贤者是嫉妒魔女沙提拉的老公,400年前与神龙.剑圣一起封印魔女因子暴走的莎缇拉.在魔女茶会的时候,莎缇拉也表示过对昴浓浓的爱意,昴便是被莎缇拉召唤来异世界的.而贤者之塔中的资料与试炼,似乎都指向同一种可能性……记忆的轮廓,逐渐显形…… 题目描述 通往贤者之塔的路上,有许多的危机.我们可以把这个地形看做是一颗树,根节点编号为1,目标节点编…
题目描述 将字符串 \(T\) 拆成若干个子串,使这些子串为字符串 \(S\) 的前缀,要求拆分形成的子串数最小. 思路整理 实际上并不需要倒着枚举,也不需要线段树,更不需要 Z 函数. 如果你做过 P3002 恐吓信 这道题,不难发现他们之间的相似之处. 首先我们容易想到一个 \(O(n^2)\) 的暴力 dp .令 \(f[i]\) 为切完前 \(i\) 个字符形成的最小子串,则可以列出下列转移方程: \[f[i] = min(f[i-j]) + 1(0<=j<=min(|T|,i)\;…
luogu P1126 机器人搬重物 题解 题目描述 机器人移动学会(\(RMI\))现在正尝试用机器人搬运物品.机器人的形状是一个直径\(1.6\)米的球.在试验阶段,机器人被用于在一个储藏室中搬运货物.储藏室是一个\(N×M\)的网格,有些格子为不可移动的障碍.机器人的中心总是在格点上,当然,机器人必须在最短的时间内把物品搬运到指定的地方.机器人接受的指令有:向前移动\(1\)步(\(Creep\)):向前移动\(2\)步(\(Walk\)):向前移动\(3\)步(\(Run\)):向左转(…
题目链接:https://www.luogu.org/problemnew/show/P1850 难的不在状态上,难在转移方程. (话说方程写错居然还有84分= =) #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #define ll long long using namespace std; const ll maxn = 2010; ll n,…
题目链接:https://www.luogu.org/problemnew/show/P1156 设\(dp[i][j]\)表示前i堆到达高度j时的所活最长时间 那么一旦到当前状态能到达满足的时间和高度就输出这个垃圾来的时间 转移时先满足可以到达的时间, 再有转移高度:\(dp[i+1][j+a[i+1].h] = dp[i][j] - (a[i+1].t - a[i].t)\) 转移生命值:\(dp[i+1][j] = max(dp[i][j]+a[i+1].f-(a[i+1].t-a[i].…
很久没写题解了,去ec之前来填一填坑,希望能攒攒人品... 首先是去年上海F题..uvalive7143 题意: 给n个人分 m间房子,每个房间的容量是已知的,其中有k对双胞胎,双胞胎可以看作相同的人,问总的方案数 其中n<=10W m=10 2k<=n 思路: dp状态为, 前i个房子分完还剩多少对双胞胎(被拆散的不算)的方案数,转移结合组合数 代码: #include <bits/stdc++.h> using namespace std; ][]; ]; ]; ]; ]; ;…
链接:https://www.luogu.org/problemnew/show/P3031 题面: 题目描述 Farmer John has lined up his N (1 <= N <= 100,000) cows in a row to measure their heights; cow i has height H_i (1 <= H_i <= 1,000,000,000) nanometers--FJ believes in precise measurements…
[题解]LOJ2462完美的集合(树DP 魔改Lucas) 省选模拟考这个??????????????????? 题目大意: 有一棵树,每个点有两个属性,一个是重量\(w_i\)一个是价值\(v_i\).我们称一个点集\(S\)合法当且仅当 该集合是一个联通块\(\qquad (1)\) 该集合的所有点的重量和\(\le m\),输入中给定\(m\),\(\qquad (2)\) 该集合的所有点的价值和是(全局)所有可能的价值和中最大的\(\qquad (3)\) 我们称一个点集的集合\(B=\…
题面 Byteasar 想在墙上涂一段很长的字符,他为了做这件事从字符的前面一段中截取了一段作为模版. 然后将模版重复喷涂到相应的位置后就得到了他想要的字符序列.一个字符可以被喷涂很多次,但是一个位置不能喷涂不同的字符.做一个模版很费工夫,所以他想要模版的长度尽量小,求最小长度是多少.拿样例来说 ababbababbabababbabababbababbaba , 模版为前8个字符ababbaba, 喷涂的过程为: ababbababbabababbabababbababbaba 分析 仔细分析…
题目链接:https://www.luogu.org/problemnew/show/P2491 题外话: OI一共只有三种题--会的题,不会的题,二分题. 题解: step 1 求树的直径,把树的直径上的路径边权都置为0,这样了再求一次其他点最短路. step 2 在树的直径上二分,具体方法是把树的直径长度用类似前缀和的思想处理后,二分左右端点舍去的距离. #include <queue> #include <cstdio> #include <cstring> #i…