预计得分:100+70+100+50=320
实际得分100+63+77+30=270
Ctrl_C+Ctrl_V时不要粘贴翻译的,直接粘原文,
In a single line of the output print an integer — the maximum loyalty among all paths from the first node to the n-th one. If such paths do not exist or the maximum loyalty equals 0, print in a single line "Nice work, Dima!" without the quotes.输出能从1出发到n的总数值数,如果没有,输出“Nice work,Dima!”
T1
dfs+剪枝
对于搜到的一组(a,b,c),将a*t^2+b*t+1(t>=20)标记,下一次再经过时就直接return
代码
T2
容易想到区间一定是连续的
但是这种容易想到的一般都是错的
例如数据
3 3
1 2 1 2
2 3 1 10000
1 2 7 8
显然区间不是连续的。
于是,我们的思路是枚举下界,二分上界,用dfs或是并查集维护1-n的连通
dfs太难打了,david-alwal太懒了,所以用了并查集
T3
个人认为是最简单的一道题
一个BFS就可以解决
下标不能为负数!!
上代码
T4
dfs+剪枝
剪枝1:,可行性剪枝:对于一个点(x,y),如果它左上角的颜色加上它走到底下的格子数大于k,就return 0
剪枝2,对称性剪枝:例如我们当前填到了某个格子,我们记录一下整个矩阵已使用的颜色,例如3,5都还没用,那么这个格子填上3或5,两者最终算出的方案数是相同的,这样我们就可以只计算3的方案数,5的直接加上3的就可以了。
用状压存状态特别方便
没有单独讲状态压缩的博客,只有讲状压DP的,大家就只看状压那部分的吧 详解状压 David-alwal太懒了
上代码
Contest2156 - 2019-3-7 高一noip基础知识点 测试2 题解版
原文:https://www.cnblogs.com/yanghaokun/p/10596396.html