革命之路漫漫

第一次尝试 40points spfa

 #include <bits/stdc++.h>
#define read read()
using namespace std; inline int read
{
int x=,f=;char ch=getchar();
while(ch<''||ch>'') {if(ch=='-')f=-;ch=getchar();}
while(ch>=''&&ch<=''){x=*x+(ch-'');ch=getchar();}
return x*f;
} const int N = ; struct edge{
int v,nxt,w;
}e[N<<]; int n,m;
int head[N],size;
int dis[N],vis[N],maxn = INT_MAX;
void add(int u,int v,int w)
{
e[++size].v = v;
e[size].w = w;
e[size].nxt = head[u];
head[u] = size;
} queue<int>q; void spfa(int s)
{
memset(dis,0x3f,sizeof(dis));
memset(head,,sizeof());
memset(vis,,sizeof(vis));
dis[s] = ;
q.push(s);
vis[s] = ;
while(!q.empty())
{
int u = q.front(); q.pop(); vis[u] = ;
for(int i = head[u]; i ; i = e[i].nxt)
{
int v = e[i].v, w = e[i].w;
if(dis[v] > dis[u] + )
{
dis[v] = dis[u] + ;
if(!vis[v])
{
q.push(v);
vis[v] = ;
}
}
}
}
} int main()
{
freopen("treasure.in","r",stdin);
n = read; m = read;
int u,v,w;
for(int i = ; i <= m; i++)
{
u = read; v = read; w = read;
add(u,v,w);
add(v,u,w); }
for(int i = ; i <= n; i++)
{
spfa(i);
int ans = ;
for(int i = ; i <= n; i++)
{
ans += dis[i] * w;
}
maxn = min(maxn , ans);
}
printf("%d",maxn);
return ;
}

第二次尝试 dfs

 #include <bits/stdc++.h>
#define read read()
using namespace std; const int N = ; int n,m;
int cost[N][N],cnt[N];
int head[N],size;
int ans = INT_MAX, mincost;
int read
{
int x = ; char ch = getchar();
while(ch < || ch > ) ch = getchar();
while(ch >= && ch <= ) { x = * x + ch - ; ch = getchar();}
return x;
} void dfs(int cur)//暴力枚举所有情况;
{
if(cur == n)
{
ans = min(ans,mincost);
return;
}
if(mincost > ans) return;
for(int i = ; i <= n; i++) //枚举出点;
{
if(!cnt[i]) continue; //还未连通的点不能当作出点;
for(int j = ; j <= n; j++) //枚举入点;
{
if(i == j || cnt[j] || cost[i][j] == 0x3f3f3f3f) continue;
mincost += cnt[i] * cost[i][j];
cnt[j] = cnt[i] + ;
dfs(cur + );
mincost -= cnt[i] * cost[i][j];
cnt[j] = ;
}
}
} int main()
{
// freopen("treasure.in","r",stdin);
n = read;m = read;
memset(cost,0x3f,sizeof(cost));
int u,v;
for(int i = ; i <= m; i++)
{
u = read; v = read;
cost[u][v] = cost[v][u] = min(read , cost[u][v]); //细节: u-v之间可能有多条路连接, 忽略其余选最短;
}
for(int i = ; i <= n; i++) //枚举起点;
{
cnt[i] = ;
dfs();
cnt[i] = ;
}
printf("%d",ans);
return ;
}

NOIP 2017 d2t2 70points的更多相关文章

  1. NOIP 2017 解题报告

    ---恢复内容开始--- NOIP 2017 的题真的很难啊,怪不得当年我这个萌新爆零了(当然现在也是萌新)越学越觉得自己什么都不会. 想要成为强者要把这些好题都弄懂弄透 至少现在6道题我都比较陌生 ...

  2. NOIP 2017 列队 - Splay - 树状数组

    题目传送门 传送点I 传送点II 题目大意 (家喻户晓的题目应该不需要大意) (我之前咋把NOIP 2017打成了NOIP 2018,好绝望) Solution 1 Splay 每行一颗Splay,没 ...

  3. 【游记】NOIP 2017

    时间:2017.11.11~2017.11.12 地点:广东省广州市第六中学 Day1 T1:看到题目,心想这种题目也能放在T1? 这个结论我之前遇到过至少3次,自己也简单证明过.初见是NOIP200 ...

  4. NOIP 2017 小凯的疑惑

    # NOIP 2017 小凯的疑惑 思路 a,b 互质 求最大不能表示出来的数k 则k与 a,b 互质 这里有一个结论:(网上有证明)不过我是打表找的规律 若 x,y(设x<y) 互质 则 : ...

  5. 历年真题 未完成(Noip 2008 - Noip 2017)

    Noip 2008 :全部 Noip 2009 :全部 Noip 2010 :AK Noip 2011 :AK Noip 2012 : Vigenère 密码,国王游戏,开车旅行 Noip 2013 ...

  6. 「NOIP 2017」列队

    题目大意:给定一个 $n times m$ 的方阵,初始时第 $i$ 行第 $j$ 列的人的编号为 $(i-1) times m + j$,$q$ 次给出 $x,y$,让第 $x$ 行 $y$ 列的人 ...

  7. NOIP 2016 D2T2 蚯蚓](思维)

    NOIP 2016 D2T2 蚯蚓 题目大意 本题中,我们将用符号 \(\lfloor c \rfloor⌊c⌋\) 表示对 \(c\) 向下取整,例如:\(\lfloor 3.0 \rfloor = ...

  8. 洛谷 P3951 NOIP 2017 小凯的疑惑

    洛谷 P3951 NOIP 2017 小凯的疑惑 题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素.每种金币小凯都有 无数个.在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付 ...

  9. NOIP 2017 提高组 day1t2 时间复杂度

    P3952 时间复杂度 标签 NOIp提高组 2017 时空限制 1000ms / 128MB 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂 ...

随机推荐

  1. Cookie 和Session 简介

    前言 HTTP是一种无状态的协议,为了分辨链接是谁发起的,需自己去解决这个问题.不然有些情况下即使是同一个网站每打开一个页面也都要登录一下.而Session和Cookie就是为解决这个问题而提出来的两 ...

  2. stm32阅读代码工具source insight

    不知道学stm32有没有这样的烦恼,想看一个项目的代码,但是用keil又发现建立工程太麻烦,单个打开文件又找不到函数和变量之间的依赖关系,变量和函数又不能高亮显示,linux下vim和emacs虽然很 ...

  3. 【python】初识python

    [命名规范] 模块名:小写字母,单词之间用_分割:例如:ad_stats.py 包名:和模块名一样 类名:单词首字母大写:例如:ConfigUtil 全局变量名:大写字母,单词之间用_分割:例如:NU ...

  4. TZOJ 1221 Tempter of the Bone(回溯+剪枝)

    描述 The doggie found a bone in an ancient maze, which fascinated him a lot. However, when he picked i ...

  5. python----二叉树实现及相关操作

    一.二叉树子节点个数 #初始化叶子节点和根结点 class treeNode(): def __init__(self,data=-1,left=None,right=None): self.data ...

  6. jira与svn的调研

    centos7.3 + jira7.8.3 + svn 1.7.14 一.环境搭建 1.centos7.3环境搭建:(1)下载centos7.3的.iso文件 http://mirrors.aliyu ...

  7. Java11-java基础语法(十)类设计综合案例

    Java11-java语法基础(十)类设计综合案例 一.类综合设计方法 1.类设计步骤 (1)分析数据成员 (2)分析成员方法和构造方法 (3)画出类图 (4)编码测试 2.具体问题 1)分析数据成员 ...

  8. MapperScannerConfigurer 自动扫描 将Mapper接口生成代理注入到Spring

    Mybatis在与Spring集成的时候可以配置 MapperFactoryBean来生成Mapper接口的代理. 例如 <bean id="userMapper" clas ...

  9. Swift 小技巧 || 老偏方

    自己平时用的时候,或者看别人有一些好用的技巧分享一下,希望大家能get到 1.关于颜色 2.关于标记 // TODO:这样的标记XCode8才有的 // FIXME:这个也是XCode8有的

  10. Struts框架之结果页面的跳转

    1. 结果页面存在两种方式 * 全局结果页面(有很多时候我们会跳转到同一页面,所以我们可以配置一个全局结果页面,不管什么情况都会跳转到这个页面) > 条件:如果<package>包中 ...