摘要: 一、从简单题开始 1.运筹学都学过的逆推求线性DP P1216 [USACO1.5][IOI1994]数字三角形 Number Triangles https://www.luogu.com.cn/problem/P1216 1 #include<cstdio> 2 #include<algorit 阅读全文
posted @ 2021-04-30 11:38 _rhinoceros 阅读(115) 评论(0) 推荐(0)
摘要: 一、算法分析 基本思路就是枚举,还有利用vector的一些小技巧。注意的点是,最后的枚举方式要有一个小优化,不能外层对k进行枚举,如果那样会超时,因为两层循环都是n。而是应该开一个res数组,以组为单位去维护res数组。 二、代码及注释 1 #include<iostream> 2 #include 阅读全文
posted @ 2021-04-30 10:31 _rhinoceros 阅读(100) 评论(0) 推荐(0)
摘要: 1.使用STL的vector容器时,对于一个未申请的空间,不要用赋值号为之加值,那样虽然不会报错但是会很慢!正确方式应该是用push_back() 阅读全文
posted @ 2021-04-30 09:42 _rhinoceros 阅读(64) 评论(0) 推荐(0)
摘要: 一、思想 刚开始拿到这道题有点懵,但是很快确定了基本的解题方向:r,b,d三个参数,通过其中两个来确定另一个的合理范围,从而确定另一个是否合法。 然后开始造了几个数据,以 2 7 3 为例,可以考虑把2拆成一个一个的,则每个最大可以配一个4(因为1 + 3 == 4),所以对于这个样例,b的最大取值 阅读全文
posted @ 2021-04-30 01:08 _rhinoceros 阅读(225) 评论(0) 推荐(0)
摘要: 一、算法分析1.首先深搜找一次直径。具体方法是先从1点(随便一个点都行)把树拎起来,然后找一条最长路p,再以p把树拎起来,找一条最长路q,最后p和q之间的最短路就是直径(第一次找的时候,最关键的是要记录下来路径上对应的边的id)(用vis数组保存起来,但是注意这个vis后面不会全部都赋值为-1)2. 阅读全文
posted @ 2021-04-28 17:23 _rhinoceros 阅读(23) 评论(0) 推荐(0)