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