考虑“删除后图仍连通”,即其不是无向图的桥(bridge),可以用Tarjan算法预处理,这里不赘述。【算法一】枚举删除的是哪条边,然后枚举起点,暴搜,统计答案。可以通过0、1号测试点。预计得分:20分。【算法二】枚举删除的是哪条边,接着,①枚举起点,∵op=0,∴裸最短路,Heap-dijkstr...
分类:
其他好文 时间:
2015-03-29 19:33:55
阅读次数:
185
题意:
裸的tsp。
分析:
用bfs求出任意两点之间的距离后可以暴搜也可以用next_permutation水,但效率肯定不如状压dp。dp[s][u]表示从0出发访问过s集合中的点,目前在点u走过的最短路程。
代码:
//poj 2688
//sep9
#include
#include
using namespace std;
const int maxW=32;
const ...
分类:
其他好文 时间:
2015-03-15 10:57:59
阅读次数:
153
发现自己搜索真的很弱,也许做题太少了吧。代码大部分是参考别人的,=_=||题意:给出一个phi(n),求最小的n分析:回顾一下欧拉函数的公式:,注意这里的Pi是互不相同的素数,所以后面搜索的时候要进行标记。先找出所有的素数p,满足(p - 1)整除题目中所给的phi(n)然后暴搜。。素数打表打到1e...
分类:
其他好文 时间:
2015-02-24 15:06:39
阅读次数:
169
1 class Solution { 2 public: 3 vector ret; 4 string src; 5 int len; 6 unordered_set added; 7 vector restoreIpAddresses(string...
分类:
其他好文 时间:
2015-02-18 12:57:59
阅读次数:
190
1、暴搜 每只蚂蚁朝向有两种,可以枚举n只蚂蚁的朝向,然后模拟蚂蚁相遇的情景,总共2^n中情况。2、分析ants相碰的情况: (a->) () 由于每只蚂蚁是相同的,所以等价与(),这和两只蚂蚁原来的走向是一样的,即把碰撞当作没发生过 ...
分类:
其他好文 时间:
2015-02-02 19:51:48
阅读次数:
113
http://acm.hdu.edu.cn/showproblem.php?pid=1254暴搜,状态是四维的(箱子和人的坐标),向一个方向推箱子还要判断人能否走到推的位置,1A#include #include #include #include using namespace std;int n...
分类:
其他好文 时间:
2015-02-01 19:02:44
阅读次数:
171
题意:给4×4的棋盘的初始状态,b代表黑,w代表白。要求变成全黑或者全白 最少需要几步。简单的做法 可以暴搜 状压bfs 不再赘述主要学习Gauss做法同样是01方程组 用异或解注意全黑或全白都可以即 bbbb wwww bbbb wwww bbbb wwww bbbb ...
分类:
其他好文 时间:
2015-01-25 13:42:10
阅读次数:
536
题意:
将n头牛和m个栏做匹配,求匹配方案数。
分析:
开始暴搜tle了,还是要用状压dp,dp[i][s]表示前i头牛匹配栏的状态为s时可行的方案数。
代码:
//poj 2441
//sep9
#include
using namespace std;
const int maxN=21;
int dp[2][1<<maxN];
int a[maxN][maxN];
int mai...
分类:
其他好文 时间:
2015-01-07 14:58:54
阅读次数:
134
首先发现暴搜是2^50级别,明显T了我们搜索的时候,剪枝一下。如果当前最大最小值都不满足满足题意的话就不搜了,我们可以用前缀和维护这个东西于是就6s卡过 1 /************************************************************** 2 Probl...
分类:
其他好文 时间:
2014-12-15 00:01:21
阅读次数:
453
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5135题目大意:给你n条边,选出若干条边,组成若干个三角形,使得面积和最大。输出最大的面积和。先将边从小到大排序,这样前面的两条边加起来如果不大于第三条边就可以跳出,这是一个存在性条件。dfs(int i...
分类:
其他好文 时间:
2014-12-04 00:51:19
阅读次数:
164