摘要:
用n次djikstra 求最小和的思路,关键是如何优化,开始直接用数组存,case8 就过不去了,后来把extract-min换成priority_queue 到case9还是没过去。先贴个我的 ,在贴个大牛的/*ID: hubiao cavePROG: butterLANG: C++*/#include#include#include#includeusing namespace std;#define INFINITE 888888int N,P,C;int djistra(int origial);int visit[801];int counter[801];int pastures[ 阅读全文
摘要:
防鄙视系列二分求幂int pow2(int a,int b){ int base=a,int r=1; while(b!=0) { if(b%2) r*=base; base*=base; b/=2; } return r;}二分改位运算,一样的意思,位操作快点int pow3(int a,int b){ int base=a,int r=1; while(b!=0) { if(b&1) r*=base; base*=base; b>>=1; }} 阅读全文
摘要:
//最近用curl做应用。。下了最新的curl-7.21.6用VS2008编译,生成静态库及动态库。开始想用静态库,发现不行, 换成动态库:添加头文件目录: 工具-》选项-》项目和解决方案-》VC++目录 -》包含文件,添加:D:\my_codes\curl-7.21.6\curl-7.21.6\include给项目添加依赖库:libcurl_imp.lib把libcurl.dll 拷到项目目录下。OK然后,不爽,因为发布程序时要带上dll文件,决定用lib.然后老是出现1>curl_adapter.obj : error LNK2001: 无法解析的外部符号 _curl_easy_se 阅读全文
摘要:
容易想到bfs,然后是根据重复剪枝,问题是如何判重复,若把每次访问过的字符串看成数作为index,最大有87654321,而实际只有8!阶乘个数,大致40000多点。这里要用到康托展开应用实例{1,2,3,4,...,n}表示1,2,3,...,n的排列如 {1,2,3} 按从小到大排列一共6个。123 132 213 231 312 321 。代表的数字 1 2 3 4 5 6 也就是把10进制数与一个排列对应起来。他们间的对应关系可由康托展开来找到。如我想知道321是{1,2,3}中第几个小的数可以这样考虑 :第一位是3,当第一位的数小于3时,那排列数小于321 如 123、 213 ,小 阅读全文