Time Limit: 6000/2000MS (Java/Others)
Memory Limit: 65535/65535KB (Java/Others)

在UESTC,你会学到众多的FTFT,像DFTDFT,CTFTCTFT,DTFTDTFT,FFTFFT等,但是,这里,我们考虑一种名叫CFTCFT的东西,它的作用与前面的不太一样,在这里,是将一个01串,映射为另一个等长的01串。

CFT:S1−>S2CFT:S1−>S2,(S1,S2S1,S2为0101串)

CFTCFT的映射规则有m条,在下面给出;同时,每计算一个CFTCFT需要一定的时间t,现在给你初始的01串S0,其长度为n,并且元素全为0,即00…0,问你,至少需要多长的时间,可以通过CFT将S0变为S1,S1长度也为n,且元素全为1(即11…1)

Input

首行两个整数n,m(1≤n≤20,1≤m≤100000)n,m(1≤n≤20,1≤m≤100000).
接下来m行,每行包括两个01串(长度为n)和一个整数si,wi,ti,(1≤ti≤1000000000)si,wi,ti,(1≤ti≤1000000000),表示sisi经过CFTCFT变为wiwi需要titi的时间

Output

如果不能得到S1,输出-1;
​否则输出将S0经过CFT变为S1所需最少时间。

Sample Input

3 5
000 110 2
000 010 4
000 101 2
110 111 1
000 111 3

Sample Output

3

Source
2017 UESTC Training for Graph Theory

题解:很显然的最短路….就是对于每一条映射连单向边就行。

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<queue>
#include<cstring>
#include<cmath>
#define LiangJiaJun main
#define MAXN 1<<20
#define INF 1000000000LL * 100000LL + 4
#define ll long long
#define pa pair<ll,int>
using namespace std;
int n,m,ne,h[MAXN];
ll dis[MAXN];
bool vis[MAXN];
priority_queue<pa,vector<pa>,greater<pa> >q;
int trans(char *s,int l){int T=0;for(int i=1;i<=l;i++){T<<=1;if(s[i]=='1')T++;}return T;
}
struct edge{int to , nt;ll w;
}e[100004];
void add(int u,int v,ll w){e[++ne].to = v;e[ne].w = w;e[ne].nt = h[u];h[u] = ne;
}
ll  dijkstra(int s,int t){for(int i=0;i<=(1<<n)-1;i++)dis[i]=INF;memset(vis,0,sizeof(vis));dis[s]=0;q.push(make_pair(0,s));while(!q.empty()){int x = q.top().second;q.pop();if(vis[x])continue;vis[x]=1;for(int i=h[x];i;i=e[i].nt){if( dis[e[i].to] > dis[x] + e[i].w){dis[e[i].to] = dis[x] + e[i].w;q.push(make_pair(dis[e[i].to],e[i].to));}}}if(dis[t]==INF)return -1;return dis[t];
}
int LiangJiaJun(){scanf("%d%d",&n,&m);for(int i=1;i<=m;i++){ll t;char x[24],y[24];scanf("%s%s%lld",x+1,y+1,&t);add(trans(x,n),trans(y,n),t);}printf("%lld\n",dijkstra(0,(1<<n)-1));return 0;
}

[UESTC1647]酌贪泉而觉爽, 处涸辙以犹欢。相关推荐

  1. UESTC 1647 酌贪泉而觉爽, 处涸辙以犹欢。

    题目链接:http://acm.uestc.edu.cn/#/problem/show/1647 题意:给你一个全为0的01串,问你能否通过一系列的变换,得到全为1的01串. 解法:将每个01串看作一 ...

  2. 字符串拼接:语言C#(CSharp)

    今天我们来介绍一下C#语言的字符串花式拼接方式 1. 基本使用 废话少说,我们直接上代码,介绍一下字符串的拼接的方式 using System; using System.Collections.Ge ...

  3. ssh: handshake failed: ssh: unable to authenticate, attempted methods [none password]

    执行ssh操作连接服务器报这个错,找了一会没找到原因,后来才发现是密码不正确,密码写对就好了. 超过百分之50以上是密码的原因. 如果密码确定对着,则检查下PasswordAuthentication ...

  4. 《滕王阁序》古文鉴赏

    滕王阁序 唐朝:王勃 豫章故郡,洪都新府.星分翼轸,地接衡庐.襟三江而带五湖,控蛮荆而引瓯越.物华天宝,龙光射牛斗之墟:人杰地灵,徐孺下陈蕃之榻.雄州雾列,俊采星驰.台隍枕夷夏之交,宾主尽东南之美.都 ...

  5. 【诗歌】值得背诵古诗(一)

    1.唐寅<桃花庵诗> 桃花坞里桃花庵(an),桃花庵下桃花仙: 桃花仙人种桃树,又摘桃花卖酒钱. 酒醒只在花前坐,酒醉还来花下眠: 半醒半醉日复日,花落花开年复年. 但愿老死花酒间,不愿鞠 ...

  6. 《滕王阁序》本周部分GAN论文(0113-0117)

    欢迎点击上方蓝字,关注啦~ 相关阅读: GAN整整6年了!是时候要来捋捋了! 脸部转正!GAN能否让侧颜杀手.小猪佩奇真容无处遁形? 容颜渐失!GAN来预测? 弱水三千,只取你标!AL(主动学习)结合 ...

  7. Bootstrap布局自动拉伸改变大小

    记录一下学习Bootstrap布局自动拉伸 <!doctype html> <html> <head><meta charset="utf-8&qu ...

  8. 超链接之锚点的使用(页面内段落之间的跳转和不同页面之间的跳转)

    Ⅰ. 1.同一个文件下的不同html页面跳转: ①.代码已亲测,可直接摘用: A.此代码为1first.html的代码: <!DOCTYPE html> <html lang=&qu ...

  9. 赏析:滕王阁序(唐代:王勃)

    滕王阁序(唐代:王勃) 豫章故郡,洪都新府.星分翼轸,地接衡庐.襟三江而带五湖,控蛮荆而引瓯越.物华天宝,龙光射牛斗之墟:人杰地灵,徐孺下陈蕃之榻.雄州雾列,俊采星驰.台隍枕夷夏之交,宾主尽东南之美. ...

最新文章

  1. python log文件_Python logging基本使用
  2. CPU实模式和保护模式、全局描述符表GDT、Linux内核中GDT和IDT的结构定义
  3. 【图像处理】——Python图像分割边缘检测算法之二阶梯度算子(laplace、log、dog算子)
  4. Wireshark文档阅读笔记-WebSocket协议基本概念
  5. Spring boot restful api 方法参数 BindException 异常处理
  6. Spring Security构建Rest服务-1401-权限表达式
  7. matlab朴素贝叶斯手写数字识别_「深度学习系列」PaddlePaddle之手写数字识别
  8. HDFS文件系统的操作
  9. mysql select 列名_Mysql查询出所有列名
  10. CSDN博客去广告-谷歌插件
  11. V4L2 pixel format 格式参考
  12. html5中的 hr定位,被大家遗忘的 hr 标签元素
  13. 01.14_学习Java的day23(详解)
  14. n 以内与 n 互素的元素集合必然形成一个循环群
  15. POJ 2248 Addition Chains
  16. CSP 201409-5 拼图问题(给出一个n×m的方格图,现在要用如下L型的积木拼到这个图中......)
  17. 计算机控制系统陈振答案,北京理工大学自动化学院导师教师师资介绍简介-董 宁...
  18. linux ssh 终端退格键,退格键,Tab,Del和箭头键在终端中不起作用(使用ssh)
  19. 各种分布(distribution)
  20. SRI-Subresource Integrity

热门文章

  1. Linux 部署Moldflow求解器Insight
  2. SpringBoot中实现简单策略模式
  3. 35岁最帅总理不当!辞职超360万年薪当起了「码农」!
  4. Linux如何修改openfile参数
  5. arduino如何在ssd1306上显示中文字符
  6. 英语句子跨不了行,解决方案here
  7. tp 框架的insertAll 解读
  8. TensorFlow 工程实战(一):在TFhub中下载预训练的pb文件,并使用 TF-Hub 库微调模型评估人物年龄
  9. python节日贺卡图片_节日贺卡图片制作方法
  10. 【Java 8 新特性】Java Map getOrDefault() 示例 | Map获取值为空则取默认值