
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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.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