ZOJ 3466 插头dp
发布日期:2022-01-31 14:08:46 浏览次数:4 分类:技术文章

本文共 1614 字,大约阅读时间需要 5 分钟。

做这题时直接在上一道题上修改的。
http://blog.csdn.net/chm517/article/details/9968775
还是多条回路的插头dp,四边形改成六边形,需要自己重推。
up,left->up1,up2,left
每个点依旧是两个插头。

#include
#include
#include
#include
typedef long long LL;using namespace std;const int N=16;const int HASH=15511;const int STATE=1000000;LL ans;int n,m,mm;int map[N][N];int ex,ey;struct HASHMAP{ int head[HASH],next[STATE],size; int state[STATE]; LL f[STATE]; void init() { size=0; memset(head,-1,sizeof(head)); } void push(int st,LL ans) { int i; int h=st%HASH; for(i=head[h];i!=-1;i=next[i]) if(state[i]==st) { f[i]+=ans; return; } state[size]=st; f[size]=ans; next[size]=head[h]; head[h]=size++; }}hm[2];void shift(int cur){ for(int i=0;i
>i);}inline int pp(int i,int k){ return k<
=0) if (map[i+1][j+tt]&&map[i+1][j+tt+1]) hm[cur^1].push(s|pp(jj,1)|pp(jj+1,1),data); if (map[i+1][j+tt+1]&&map[i][j+1]) hm[cur^1].push(s|pp(jj+1,1)|pp(jj+2,1),data); if (j+tt>=0) if (map[i+1][j+tt]&&map[i][j+1]) hm[cur^1].push(s|pp(jj,1)|pp(jj+2,1),data); continue; } if (add==1) {int tmp=cp(s,jj,jj+1,jj+2); if (j+tt>=0) if (map[i+1][j+tt]) hm[cur^1].push(tmp|pp(jj,1),data); if (map[i+1][j+tt+1]) hm[cur^1].push(tmp|pp(jj+1,1),data); if (map[i][j+1]) hm[cur^1].push(tmp|pp(jj+2,1),data); continue; } if (add==2) {hm[cur^1].push(cp(s,jj,jj+1,jj+2),data); if (i==ex&&j==ey) ans+=data; continue; } }}char str[5];void init(){ int x,y; memset(map,0,sizeof(map)); n=8; ex=-1; for (int i=0;i

转载地址:https://blog.csdn.net/chm517/article/details/9972247 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Hdu 1693 插头dp
下一篇:密码学笔记(2)——RSA密码

发表评论

最新留言

路过,博主的博客真漂亮。。
[***.116.15.85]2023年05月30日 15时37分32秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

最新文章

Java 访问权限修饰符以及protected修饰符的理解 2020-01-28 18:15:10
Java final关键字 2020-01-28 18:15:10
Java IO流-字节流 2020-01-28 18:15:10
Java 常用对象-基本类型的封装类 2020-01-28 18:15:09
Java 类及其组成可使用的修饰符 2020-01-28 18:15:09
Java 内部类 2020-01-28 18:15:09
Java 常用对象-Date类和Calender类 2020-01-28 18:15:09
Java 包的概述和讲解 2020-01-28 18:15:09
XML和Schema 2020-01-28 18:15:09
Java 常用对象-System类 2020-01-28 18:15:08
Java 常用对象-BigInteger类 2020-01-28 18:15:08
Java 常用对象-BigDecimal 2020-01-28 18:15:08
Java 常用对象-Scanner类 2020-01-28 18:15:07
Java 常用对象-String类 2020-01-28 18:15:08
Java 常用对象-StringBuffer类 2020-01-28 18:15:08
Java 常用对象-Math类 2020-01-28 18:15:08
Java 集合-Map接口和三个子类实现 2020-01-28 18:15:07
Java 常用对象-Object类 2020-01-28 18:15:07
Java 值传递和引用传递 2020-01-28 18:15:07
Java JDK5新特性-可变参数 2020-01-28 18:15:06