2015年7月23日

摘要: 实际上就是从T到当前节点的最短路的长度,因为首先要保证h(n) #include #include #include #include using namespace std;const int MAXN = 1000;const int MAXM = 100000;struct ... 阅读全文
posted @ 2015-07-23 17:17 JeremyGuo 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 实际上就是个树链剖分,每次询问自己需要的到根节点中有多少开/开了,然后根据需要输出然后线段树Update的时候改一下改成每次更新全部,直接覆盖就行,每次扫描出来的一段肯定是上面半段开下面半段不开(分成两段)或者全部都处于开或者关,因为在链上任意一个处于开启状态那么之前的必须也处于开... 阅读全文
posted @ 2015-07-23 16:43 JeremyGuo 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 八数码问题,用的A*解决,但是数据太强A不了。。。TLE只能在POJ上先过一发了。#include #include #include #include #include #include #include #include #include using namespace std... 阅读全文
posted @ 2015-07-23 15:58 JeremyGuo 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 首先就是f(n)=g(n)+h(n)这个h(n)就是估价函数,然后每次更新一下g(n)然后用康托展开,搞一下判重就好了。#include #include #include #include #include using namespace std;const int MAXVIS... 阅读全文
posted @ 2015-07-23 13:37 JeremyGuo 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 先找连通图,然后检查是否是二分图注意如果是在线的算法记得要清空Color数组因为存在一种情况儿子中含有两个连通图,那么自己儿子中就会存在一个割点已经被染了色,就有可能存在冲突。#include #include #include #include #include #include... 阅读全文
posted @ 2015-07-23 11:08 JeremyGuo 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 直接搜索从0开始一直到1,然后搜索过程中只能有一个分母大于m所以,如果当前是sum,已经枚举了k个那么sum+n−km>1这种情况显然不成立,还有就是当sum+n−k+1ak−1#include #include #define MAXN 10using namespace std... 阅读全文
posted @ 2015-07-23 08:37 JeremyGuo 阅读(144) 评论(0) 推荐(0) 编辑

导航