摘要:
【题解】 因为n很小,直接弗洛伊德就可以了。按照询问来做弗洛伊德,把两次询问之间新修好的点拿来当中继点,更新其他点的答案,并回答询问。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #define LL long lon 阅读全文
摘要:
【题意概述】 有n只狼要杀,杀每只狼的代价是它的攻击值加上它相邻的存活的狼的附加值。求最小的代价。 【题解】 区间DP. 设f[i][j]为杀掉i~j的狼的最小代价,可以推出状态转移方程为f[i][j]=min(f[i][k]+f[k+1][j]+a[k]+b[i-1]+b[j+1]),枚举区间长度 阅读全文
摘要:
【题意概述】 有n个位置,每个位置可以放F或者M,规定一种合法的放置方案为不存在单独的F(即每个F的左边或者右边必须至少有一个F),问有多少种放置方案。 【题解】 假设有一种合法的放置方案,有n-1个位置,那么我们在末尾多放一个M,必定是一个合法的方案。(放F则不一定) 有n-2个位置的合法放置方案 阅读全文
摘要:
【题解】 暴力枚举添加字符的位置,然后判断去掉这个位置的字符串是否有由两个相同的串拼接而成。本题的n的范围为200W,暴力判断会TLE,所以要使用哈希。 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 #include<m 阅读全文