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

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

这题在ural 1519的基础上做了修改。
【多条回路】
不分左括号右括号,只有有括号无括号(可以不用4进制用2进制,实践证明2进制略快)
两个插头能合并时一定要合并

//hdu_1693_括号表示2进制#include
#include
#include
#include
typedef long long LL;using namespace std;const int N=15;const int HASH=15111;const int STATE=20000;const int INF=0x3f3f3f3f;LL ans;int n,m;int map[N][N];int jz[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
>jz[i]);}inline int pp(int i,int k){ return k<
//hdu_1693_括号表示4进制#include
#include
#include
#include
typedef long long LL;using namespace std;const int N=15;const int HASH=15111;const int STATE=20000;const int INF=0x3f3f3f3f;LL ans;int n,m;int map[N][N];int jz[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
>jz[i]);}inline int pp(int i,int k){ return k<

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

上一篇:【转】国家集训队论文分类整理
下一篇:ZOJ 3466 插头dp

发表评论

最新留言

网站不错 人气很旺了 加油
[***.192.178.218]2024年04月17日 23时09分27秒

关于作者

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

推荐文章