
技巧
码不停Tick
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
poj3617
也是一题贪心的水题,贪心的策略很简单:每次选开头和结尾较大者放入新的字符串的末尾,不过需要注意的是,当首尾相同时需要比较前后的下一个(即左边的右边一个和右边的左边一个)的大小,下一个是较小的那个放入新的字符串,详情可以自己模拟。 这道题比较厉害的是编程的技巧吧,试想如果两边一直相等,直到最中间才出现不同,一般的想法可能是递归,但是数太大,递归肯定不行,这里提供了一个方法,非常棒一定要学会。 #原创 2018-01-21 11:48:58 · 1842 阅读 · 1 评论 -
树状数组技巧总结
树状数组一般用来维护区间的前缀和,而线段树其实更适合用来解决RMQ问题。但是因为现在还没有复习线段树,所以先用着树状数组。(主要是好写) 树状数组基本的操作:区间和和单点修改,都可以在刘汝佳的训练指南里找到,这里不做详细说明。 主要总结以下几点: 1、树状数组解题的常规套路。(其实也就是前缀和的套路) 2、树状数组的区间最值查询 3、树状数组的区间修改以及区间修改后的区间和查询原创 2018-02-03 12:36:10 · 378 阅读 · 0 评论 -
wannafly10 c题 dfs+思路
这道题开始先直接dfs,然后tle了,然后换汤不换药bfs一遍,又tle了。看了别人的思路,恍然大悟。TLE思路:建图,然后对于每次轰炸,以轰炸的节点为根进行dfs,更新相邻节点损毁的次数。TLE写起来简单粗暴,但结果也很粗暴。。。AC思路:建图后先进行一次dfs(以编号为1的节点为根,将无根树转为有根树)找出每个节点对应的父节点,然后根据父子关系,爷孙关系以及兄弟关系,推出节点的损毁次数。(兄弟...原创 2018-02-24 15:35:07 · 263 阅读 · 0 评论 -
uva1599 双向bfs+路径字典序输出
题意:紫书上有。思路:首先逆向bfs一遍,求出其他所有点到终点的最短距离。然后正着bfs一遍,每次选择和当前节点到终点距离少1的点,且更新这一步的所选择的颜色。第二个bfs参考别人的代码,有一个非常巧妙地写法:用path【i】表示,走第i步时所选择地最小颜色。这样打印路径直接按照步数打印就可以了(其他方式地打印都很麻烦)。本题有一个特别需要注意地地方:字典序最小是整体的,因此不能单单判断到某个点的...原创 2018-03-11 16:40:37 · 387 阅读 · 0 评论 -
uva12166 dfs+思维
题意:紫书 思路:关键在于逆向思维,最少需要改变多少个是很难记录下来的,故而换个思路,算出一个某个重量的砝码做基准时保留的砝码个数,用总个数减去即可。 #include #include #include #include #include #include #include #include #include #define debug cout<<"debug"<<endl #defin原创 2018-03-11 17:02:58 · 331 阅读 · 0 评论