ICPC North Central NA Contest 2017 B - Pokemon Go Go
DOOOR
赤裸裸的状鸭TSP
就是在设计状态的时候纠结了一下,到底鸭个数还是种类数?
好吧,目(mú)标意识又没(mēi)有啦
目标在哪里捏?收集全部种类的宝可梦!
所以这么想的话世界突然就明亮了:
不用一顿乱check,只用枚举一下每种宝可梦的每个宝可梦的位置就行了!
第二维如果表示种数的话,方程列不出来,因为不知道抓的上一种在哪个位置,无法计算这次抓走的距离
然鹅,从(0,0)开始
写完了才发现!!!!!
所以怎么处理!!!!
枚举第一个抓的和最后一个抓的,取min{dis((0,0)->first)+dp[E][last]+dis(last->(0,0))}
然鹅犯傻了的我当时竟然想歪了??
把(0,0)当第一种宝可梦。。。
然后就不知到怎么的调了半天
//B2
#include <bits/stdc++.h>
using namespace std;
const int INF=1e9;
int dp[1<<16][22],d[22],n,mind=INF;
int nkind,kind[24];
vector<int>ve[20];
map<string,int>mp;
inline bool check(int i,int j,int k) {if(!(i&d[kind[j]]))return 0;//这种没有走过if(i&d[kind[k]])return 0;//要抓的那个的属性种已经去过return 1;
}
struct node{int x,y;
}pos[24];
int dis(int u,int v){return abs(pos[u].x-pos[v].x)+abs(pos[u].y-pos[v].y);
}
int main() {cin>>n;n++;string s;nkind=1;ve[1].push_back(1);kind[1]=1;mp["0"]=1;for(int i=2;i<=n;i++){cin>>pos[i].x>>pos[i].y>>s;if(!mp[s])nkind++,mp[s]=nkind;kind[i]=mp[s];ve[kind[i]].push_back(i);}//最终状态,第1到n位全都为1 d[1]=1; int E=(1<<nkind)-1;//i=2!!!!for(int i=2; i<=nkind; i++)d[i]=(d[i-1]<<1);//从1到n,位数为i的二进制值 1 10 100 1000 10000,后面取用 for(int i=0; i<=E; i++)for(int j=1; j<=n; j++)dp[i][j]=INF;//初始化状态数组 dp[1][1]=0;for(int i=1; i<=E; i++)for(int j=1; j<=n; j++)//枚举最后到的点 for(int k=1; k<=n; k++) {//枚举将要到的点 if(check(i,j,k)) {//可以走, for(int v=0;v<ve[kind[j]].size();v++){dp[i + d[kind[k]]][k] =min(dp[i + d[kind[k]]][k],dp[i][ve[kind[j]][v]] +dis(ve[kind[j]][v], k));}}}for(int i=2;i<=nkind;i++){for(int v=0;v<ve[i].size();v++)mind = min(mind, dp[E][ve[i][v]] + dis(ve[i][v], 1))}cout<<mind;return 0;
}
ICPC North Central NA Contest 2017 B - Pokemon Go Go相关推荐
- ICPC North Central NA Contest 2017 计蒜客重现 解(补)题报告
前言 不知不觉又到了周六训练赛,时间过得真快.手机前段时间被我不小心摔坏了,没手机玩的第十天, 无奈只能学习了 ,想它.题目还是要做的,题解还是要写的,CF还是得抽时间打的,所以说手机坏了貌似是好事. ...
- 2021年度训练联盟热身训练赛第二场(ICPC North Central NA Contest 2019,南阳师范学院),签到题ABCDEFGIJ
A. Binarize It,简单枚举 链接:https://ac.nowcoder.com/acm/contest/12794/A 来源:牛客网 题目描述 Professor Boolando ca ...
- ICPC North America Qualifier Contest 2015 按通过率从 J开始
J. Torn To Pieces 思路很简单,主要是怎么实现: #include <bits/stdc++.h> using namespace std; typedef long lo ...
- The 2019 ICPC Asia Shanghai Regional Contest
The 2019 ICPC Asia Shanghai Regional Contest 题号 题目 知识点 A Mr. Panda and Dominoes B Prefix Code C Maze ...
- 2018 ICPC Asia Jakarta Regional Contest
2018 ICPC Asia Jakarta Regional Contest 题号 题目 知识点 难度 A Edit Distance B Rotating Gear C Smart Thief D ...
- The 2021 ICPC Asia Regionals Online Contest (I)
The 2021 ICPC Asia Regionals Online Contest (I) 写了一晚上,日- 文章目录 一. A Busiest Computing Nodes 二.D Edge ...
- The 2022 ICPC Asia Regionals Online Contest (I)
D题 The 2022 ICPC Asia Regionals Online Contest (I) 03:14:13 H Step Debugging 作者 pku 单位 北京大学 Rikka is ...
- 2021 ICPC Southeastern Europe Regional Contest Werewolves(树上背包)
2021 ICPC Southeastern Europe Regional Contest Werewolves(树上背包) 链接 题意:给出一个n个节点的树(n≤3000n\le3000n≤300 ...
- 【题目记录】——The 2021 ICPC Asia Jinan Regional Contest
文章目录 C Optimal Strategy 组合数 H Game Coin K Search For Mafuyu 欧拉序列 题目集地址 The 2021 ICPC Asia Jinan Regi ...
- 2021 ICPC Southeastern Europe Regional Contest(更新至六题)
2021 ICPC Southeastern Europe Regional Contest A题签到 A. King of String Comparison 题意:给两个字符串,找出有多少对(l, ...
最新文章
- cin输入问题的处理:cin.clear() 、cin.sync() 、cin.ignore()
- 删除mongodb库
- odp.net连接oracle9i 出错解决_机电工程老出错?机电安装质量通病防治手册,解决常见多发问题...
- 时艳强对话酒儿:gate首发平台币的时机选择
- MobIM仅为开发者提供即时通讯的消息通道服务
- SQL Server 2008 高可用性视频(四)-- 故障转移群集
- linux系统pcb软件下载,开源PCB设计软件KiCad致力于下一个大版本的发布
- 【网络/通信】概念的理解 —— 带宽、吞吐量、净荷
- 写入sql时间_一问SQL优化就无从藏身?那只是你对原理的精髓掌握不深
- Web开发笔记(一)
- 移动互联网时代的信息安全与防护
- GIS应用技巧之数据结构(栅格与矢量)
- 拥有多丽体质特膳 你也能和女神般光彩照人
- 真正厉害的人,都是“反内耗”体质
- 如何手动创建NVivo主题节点?
- 磨金石教育摄影技能干货分享|有哪些让你难以忘怀的人文摄影照片
- 婚姻对女人很重要,但远远不是我们的全部
- 12月15-16日:跟着猫叔写代码学习api接口开发小程序
- html5 制作 蝴蝶飞动的动态图片,fireworks制作蝴蝶飞gif动画
- jmeter循环和计数器