当前位置:首页>编程日记>正文

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

本章施工仍未完成

现在的时间是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 }

http://www.coolblog.cn/news/8e0b628996128d42.html

相关文章:

  • asp多表查询并显示_SpringBoot系列(五):SpringBoot整合Mybatis实现多表关联查询
  • s7day2学习记录
  • 【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。
  • 矿Spring入门Demo
  • 拼音怎么写_老师:不会写的字用圈代替,看到孩子试卷,网友:人才
  • Linux 实时流量监测(iptraf中文图解)
  • Win10 + Python + GPU版MXNet + VS2015 + RTools + R配置
  • 美颜
  • shell访问php文件夹,Shell获取某目录下所有文件夹的名称
  • 如何优雅的实现 Spring Boot 接口参数加密解密?
  • LeCun亲授的深度学习入门课:从飞行器的发明到卷积神经网络
  • Mac原生Terminal快速登录ssh
  • java受保护的数据与_Javascript类定义语法,私有成员、受保护成员、静态成员等介绍...
  • mysql commit 机制_1024MySQL事物提交机制
  • 支撑微博千亿调用的轻量级RPC框架:Motan
  • jquery 使用小技巧
  • 2019-9
  • 法拉利虚拟学院2010 服务器,法拉利虚拟学院2010
  • vscode pylint 错误_将实际未错误的py库添加到pylint白名单
  • 科学计算工具NumPy(3):ndarray的元素处理
  • 工程师在工作电脑存 64G 不雅文件,被公司开除后索赔 41 万,结果…
  • linux批量创建用户和密码
  • newinsets用法java_Java XYPlot.setInsets方法代碼示例
  • js常用阻止冒泡事件
  • 气泡图在开源监控工具中的应用效果
  • 各类型土地利用图例_划重点!国土空间总体规划——土地利用
  • php 启动服务器监听
  • dubbo简单示例
  • 【设计模式】 模式PK:策略模式VS状态模式
  • [iptables]Redhat 7.2下使用iptables实现NAT
  • Ubuntu13.10:[3]如何开启SSH SERVER服务
  • CSS小技巧——CSS滚动条美化
  • JS实现-页面数据无限加载
  • 阿里巴巴分布式服务框架 Dubbo
  • 最新DOS大全
  • Django View(视图系统)
  • 阿里大鱼.net core 发送短信
  • 程序员入错行怎么办?
  • 两张超级大表join优化
  • 第九天函数
  • Linux软件安装-----apache安装
  • HDU 5988 最小费用流
  • Sorenson Capital:值得投资的 5 种 AI 技术
  • 《看透springmvc源码分析与实践》读书笔记一
  • 正式开课!如何学习相机模型与标定?(单目+双目+鱼眼+深度相机)
  • Arm芯片的新革命在缓缓上演
  • nagios自写插件—check_file
  • python3 错误 Max retries exceeded with url 解决方法
  • 行为模式之Template Method模式
  • 通过Spark进行ALS离线和Stream实时推荐