这题应该算是经典的八数码问题的弱化版吧:给你一个4x2的方版,上面有0-7 八个数字,每次只能让编号0的方格跟他的上下左右的方格交换;所以也就是把方格0当做空格看待,每次只有空格周围的方格能够向空格处移动。 然后问从输入的方格样式变换到字典序最小的"01234567" 最少需要多少次。 解法是用bf ...
分类:
其他好文 时间:
2016-07-15 13:30:43
阅读次数:
218
A - Breadth-First Search by Foxpower Problem Statement Fox Ciel went to JAG Kingdom by bicycle, but she forgot a place where she parked her bicycle. S ...
分类:
其他好文 时间:
2016-07-14 19:22:35
阅读次数:
149
Portal: http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=1345 http://codeforces.com/gym/100803/attachments A题 好题! 坑不多,切入比较难 一开始的想法是暴力,由于求得是最小解 ...
分类:
其他好文 时间:
2016-07-07 19:44:02
阅读次数:
207
题目(原文是日语): Google Code Jam区域赛上,坐在右前方的男人ID叫lyrically。东京大学时代的记忆中,记得有个朋友也用类似的ID。不过我的朋友都是萌妹子,我记忆中的 lyrically不仅算法扎实,封装也很强,能一下子给出问题的正解。比如,对我们写得不好的程序也能优化到AC....
分类:
其他好文 时间:
2015-11-06 12:58:09
阅读次数:
397
一遍预处理跑完所有情况,O(1)回答就好。状态记录我用的康拓和逆康拓。#includeusing namespace std;int d[40320];int fac[8];int u[8];int cantor(){ int re = 0; for(int i = 0; i u[j])...
分类:
其他好文 时间:
2015-10-18 16:49:51
阅读次数:
185
寻找根节点很容易让人联想到DisjointSet,但是DisjointSet只有合并操作,所以询问离线倒着考虑,标记会一个一个消除,这时候就变成合并了。因为询问和查询的时间以及标记生效的时间有关,记录下查询时间,在树上记录的标记。(没有做标记的默认为最大询问时间+1,根节点为0在Find的时候根据询...
分类:
其他好文 时间:
2015-10-18 15:22:08
阅读次数:
117
Do use segment treeTime Limit: 1 Sec Memory Limit: 256 MB题目连接http://www.bnuoj.com/v3/problem_show.php?pid=39566DescriptionGiven a tree withn(1 ≤ n ≤ 2...
分类:
其他好文 时间:
2015-10-02 22:23:19
阅读次数:
323
贪心,对于一个修饰关系可以连一条有向边,在合并的时候,子节点的序列一定是连续安排的,因为如果有交叉,交换以后一定更优。然后一个序列一个序列的考虑,长度短的应该在前面,否则同样交换以后更优。因此排序以后统计就行了。数据最多1e6,dfs爆栈了,手写栈模拟递归。。。#includeusing names...
分类:
其他好文 时间:
2015-10-02 18:35:23
阅读次数:
162
原题链接:http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2304题意:给你一个网络,其中每条边的容量是1,你可以通过调整边的方向来获得更大的流量,现在问你能获得的最大流量是多少。并且输出更改方向的边的编号。题解:就每条边弄成无向的,...
分类:
其他好文 时间:
2015-10-01 23:04:10
阅读次数:
337
把有向图修改成无向图,并保证每条边的流量守恒并满足有向容量(即abs(flow(u,v) - flow(v,u)) using namespace std;const int N = 301,M = N*(N-1);int n,m;int hd[N],nx[M],to[M],cap[M],ect;i...
分类:
其他好文 时间:
2015-10-01 19:09:13
阅读次数:
204