线段树+spfa求最长路。逆向思维,从最底下一块板子建图。需要注意的是任何一个板子掉落下面再无板子,此时都可以看做一个终结状态。 1 /* 3016 */ 2 #include 3 #include 4 #include 5 #include 6 #include 7 #in...
分类:
其他好文 时间:
2015-12-23 14:29:42
阅读次数:
221
编写高效简洁的C 语言代码,是许多软件工程师追求的目标。本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教。第1 招:以空间换时间计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1 招--以空间换时间。例如:字符串的赋值。...
分类:
编程语言 时间:
2015-11-16 20:57:00
阅读次数:
170
题目大意:n(1 ≤n ≤100000)对夫妻形成环,编号为1到2n。相邻的夫妻能够从环中删除,若能删除全部夫妻,则输出Yes,否则输出No。有多组测试样式,当n等于0时,输入结束。解题思路:逆向思维,在生成环的过程进行处理,而不是在生成环后再删除夫妻。 用到的数据结构:栈。代码如下:#i...
分类:
其他好文 时间:
2015-09-23 21:07:12
阅读次数:
182
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5386逆向思维,(初始状态没什么用。。) 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 ...
分类:
其他好文 时间:
2015-09-06 16:16:02
阅读次数:
139
1.题目描述:点击打开链接
2.解题思路:本题利用01背包解决。不过稍微运用了一下逆向思维。如果按照经典的思路,应该是概率作为容量,钱数作为价值,但是由于概率是浮点数,不能直接当做下标来使用,因此不妨换一个角度来考虑:概率作为价值,钱数作为容量。我们把所有的概率都转化为不被抓的概率,那么,本题实际上是求解不被抓的概率刚刚大于P的时候,最大的容量是多少。这样就可以用经典的01背包求解了。
3.代...
分类:
其他好文 时间:
2015-08-19 23:45:31
阅读次数:
130
1.题目描述:点击打开链接
2.解题思路:本题利用逆向思维+贪心法解决。因为题目中已经告诉我们一定存在解,因此可以考虑贪心法的使用。这道题的妙处在于答案和初始矩阵是无关的,只和目标矩阵有关。因为不管初始矩阵长什么样,只要操作一样,加上解的存在性,得到的目标矩阵一定是相同的。接下来就是如何寻找操作序列。
假设最后一步操作执行后,我们得到了目标矩阵,由于所有操作都是对一整行或者一整列进行的...
分类:
其他好文 时间:
2015-08-15 12:06:43
阅读次数:
101
题意:
有两种操作:
操作L x y,把当前x,这一列全部置为y
操作H x y,把当前,这一行全部置为y。
现在给你n?n n*n的初始矩阵,以及n?n n*n的目标矩阵
现在给你m种操作(由以上两种操作构成),问怎么排序这m种操作,才能使得,初始矩阵,经由排序后的操作,构成目标矩阵。
输出排序方案。
解析:
逆向思维,
枚举每个操作,然后判断该操作是不...
分类:
其他好文 时间:
2015-08-13 23:41:17
阅读次数:
343
题意描述:
在一条直线上有n棵树,每棵树有一个高度。现在进行查询:给一个高度h,把小于等于h的树砍掉,剩余的树能组成几个块?
块的定义:一个块要包含尽可能多的位置连续的树,而且被包含的树没有被砍掉
解题思路:离线处理
1、逆向思维:砍树的对立面就是长树
(1)如果我们把树的高度和查询高度都按从大到小的顺序排序,初始化直线上没有一棵树存在;
...
分类:
其他好文 时间:
2015-08-03 14:54:51
阅读次数:
70
题目链接:hdu 5323 Solve this interesting problem
逆向思维,每次向左或向右翻倍,知道左端点为0时,即恰好满足的情况,处理处所有情况去取最小值。
#include
#include
#include
using namespace std;
typedef long long ll;
const ll inf = 0x3f3f3f3...
分类:
其他好文 时间:
2015-07-28 23:21:09
阅读次数:
465
分析题意可知:
1、最少需要切断多少边使吴不能找到张(题意吴只能走最短路径上面的边),对从起点到终点的最短路径重新建图,每条边的权值为1,求最大流即可
2、在吴可以找到张的前提下,最多可以切断边的数量:只需要在所有最短路径中寻找一条经过边数量最少的最短路径,用边的总数减去它即可(逆向思维)
代码如下:
#include
#include
#include
#include
#def...
分类:
其他好文 时间:
2015-07-23 10:43:16
阅读次数:
126