本章施工仍未完成

现在的时间是3.17 0:28,我困得要死

本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤。

尝试了用floyd写T4,终于大功告成AC后,看到别人的解题报告说fl能过只是因为测试数据范围小。

好像主要有三种解法,fl,dij,dfs

dfs暂时弃,dij写到现在还没完成,先把fl的放上来。

等攻下T4,再施工前面三道题

T4-Floyd:

读完数据以后,只要把文化不兼容的城市的路都堵上,就可以用floyd了

可怜我之前堵路无方,写了一大堆判定条件还没见效……

AC代码如下

 1 /*NOIP普及组2012 t4 culture*/
 2 //根据多个解题报告所说,floyd算法能过只是因为数据范围小
 3 //我们需要dij或者dfs
 4 #include<iostream>
 5 #include<algorithm>
 6 #include<cmath>
 7 using namespace std;
 8 const int inf=10000000;
 9 int c[5000];//文明[i]的文化
10 int fl[300][300];//文化拒绝
11 int mp[300][300];//图
12 //int DFS(){
13
14 //}
15 int main(){
16     int i,j,n,k,m,s,t;
17 //    freopen("culture.in","r",stdin);
18 //    freopen("culture.out","w",stdout);
19     //in
20     scanf("%d%d%d%d%d",&n,&k,&m,&s,&t);
21     for(i=1;i<=n;i++){
22         scanf("%d",&c[i]);
23     }
24     for(i=1;i<=n;i++)
25      for(j=1;j<=n;j++){
26          if(i!=j)mp[i][j]=inf;//预处理
27      }
28     for(i=1;i<=k;i++)
29      for(j=1;j<=k;j++)
30        scanf("%d",&fl[i][j]);//读入文化兼容情况
31
32     for(i=1;i<=m;i++){
33         int u,v,d;
34         scanf("%d%d%d",&u,&v,&d);
35         mp[u][v]=min(mp[u][v],d);//两座城市间若有多条道路,记录最短的即可
36         mp[v][u]=mp[u][v];//双向图
37     }
38     for(i=1;i<=n;i++)
39      for(j=1;j<=n;j++){
40          if(fl[c[i]][c[j]]==1)mp[j][i]=inf;//如果文化不兼容,相当于道路不通
41          //刚开始mp[j][i]误打成mp[i][j],费了半天时间查错
42          //这部分原本想边读边处理,但是发现会影响到双向距离处理,只好单拿出来了
43      }
44     //
45     //floyd 不能走的路之前都处理成inf了,直接floyd就行
46     for(k=1;k<=n;k++)
47       for(i=1;i<=n;i++)
48         for(j=1;j<=n;j++){
49             if(mp[i][k]+mp[k][j]<mp[i][j]){
50                 mp[i][j]=mp[i][k]+mp[k][j];
51             }
52         }
53     //
54     if(mp[s][t]==inf)printf("-1");
55     else printf("%d",mp[s][t]);
56 //    fclose(stdin);
57 //    fclose(stdout);
58     return 0;
59
60 }

转载于:https://www.cnblogs.com/AwesomeOrion/p/5285834.html

NOIP2012普及组 (四年后的)解题报告 -SilverN相关推荐

  1. NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.

    题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如"x-xxx-xxxxx-x",其中符号"-&qu ...

  2. 信息学奥赛一本通 1958:【12NOIP普及组】寻宝 | OpenJudge NOI 1.12 06 | 洛谷 P1076 [NOIP2012 普及组] 寻宝

    [题目链接] ybt 1958:[12NOIP普及组]寻宝 洛谷 P1076 [NOIP2012 普及组] 寻宝 OpenJudge NOI 1.12 06:寻宝 [题目考点] 1. 模拟 2. 循环 ...

  3. 信息学奥赛一本通 1098:质因数分解 | 1957:【12NOIP普及组】质因数分解 | OpenJudge NOI 1.5 43 | 洛谷 P1075 [NOIP2012 普及组] 质因数分解

    [题目链接] ybt 1098:质因数分解 ybt 1957:[12NOIP普及组]质因数分解 OpenJudge NOI 1.5 43:质因数分解 洛谷 P1075 [NOIP2012 普及组] 质 ...

  4. NOIP2012 普及组 T4 文化之旅

    文化之旅 (NOIP2012 普及组 T4 ) 题目描述 有一位使者要游历各国,他每到一个国家,都能学到一种文化,但他不愿意学习任何一种文化超过一次(即如果他学习了某种文化,则他就不能到达其他有这种文 ...

  5. 洛谷——P1075 [NOIP2012 普及组] 质因数分解

    P1075 [NOIP2012 普及组] 质因数分解 题目描述 已知正整数nn是两个不同的质数的乘积,试求出两者中较大的那个质数. 输入格式 一个正整数nn. 输出格式 一个正整数pp,即较大的那个质 ...

  6. 洛谷P1077 [NOIP2012 普及组] 摆花

    题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 mm 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的 nn 种花,从 11 到 nn 标号.为了在门口展出更多种花,规定第 i ...

  7. P1941 [NOIP2014 提高组] 飞扬的小鸟——解题报告

    一.题目链接: P1941 [NOIP2014 提高组] 飞扬的小鸟 二.题目大意 游戏界面是一个长为nnn,高为mmm的二维平面,其中有kkk个管道(忽略管道的宽度).小鸟始终在游戏界面内移动.小鸟 ...

  8. nowcoder 提高组模拟赛 选择题 解题报告

    选择题 链接: https://www.nowcoder.com/acm/contest/178/B 来源:牛客网 题目描述 有一道选择题,有 \(a,b,c,d\) 四个选项. 现在有 \(n\) ...

  9. NOIP2014提高组A.石头剪刀布(解题报告)

    [题目描述] 在<生活大爆炸>第二季第 8 集中出现了一种石头剪刀布的升级版游戏.升级版游戏在传统的石头剪刀布游戏的基础上,增加了两个新手势: 斯波克:<星际迷航>主角之一. ...

最新文章

  1. linux pidof 进程名称查进程id
  2. Collection 和 Collections区别
  3. Java反转单链表(code)
  4. 为了帮助卖家成交,闲鱼工程师做了些什么?
  5. pat乙级相当于什么水平_雅思6.5是什么水平?相当于托福多少分?
  6. linux 开启关闭tomcat服务器端口,linux系统安装、启动和关闭tomcat
  7. 成绩排序(信息学奥赛一本通-T1178)
  8. 【ElasticSearch】Es 源码之 RestController 源码解读
  9. 单片机并口应用实验c语言,用51单片机编写一个并行口实验
  10. [转载] python 时间sleep() 的方法
  11. 谷歌浏览器 flash_Chrome 76测试版默认禁用Flash 用户可避开更多付费页面
  12. 孙鑫VC学习笔记:第十三讲 (四) 生成可串行化的类
  13. 为什么开发移动端web不使用jQuery
  14. TF卡和SD卡的区别
  15. 游戏服务器是干什么的(大话、浅析)
  16. 微信自动回复(新年快乐)
  17. “华为杯”研究生数学建模竞赛2020年-【华为杯】B题:降低汽油精制过程中的辛烷值损失模型(附获奖论文)
  18. 【React-music项目问题】The AudioContext was not allowed to start. It must be resumed (or created) after a
  19. 【JS】正则表达式。以vue词法分析、句法分析为例
  20. 想要空手夺白刃?看看用户裂变的四板斧

热门文章

  1. 清空、重设input框
  2. Mpmovieplayercontroller 黑屏
  3. 关于微信客服消息 40001和45015 模板消息 errcode:40037 遇到的自己挖的坑
  4. 苹果降价背后的代工厂之殇
  5. 141 springmvc中 转发 与 重定向
  6. Exchange Server 2016管理系列课件53.DAG管理之设置滞后数据库副本
  7. Python--练习及面试题
  8. 《数据结构与算法 C语言版》—— 2.5上机实验
  9. React Native调用原生模块
  10. check $m2_home environment variable and mvn script match