NOIP2012普及组 (四年后的)解题报告 -SilverN
本章施工仍未完成
现在的时间是3.17 0:28,我困得要死
本来今天(昨天?)晚上的计划是把整个四道题的题解写出来,但是到现在还没写完T4的高效算法,简直悲伤。
尝试了用floyd写T4,终于大功告成AC后,看到别人的解题报告说fl能过只是因为测试数据范围小。
好像主要有三种解法,fl,dij,dfs
dfs暂时弃,dij写到现在还没完成,先把fl的放上来。
等攻下T4,再施工前面三道题
T4-Floyd:
读完数据以后,只要把文化不兼容的城市的路都堵上,就可以用floyd了
可怜我之前堵路无方,写了一大堆判定条件还没见效……
AC代码如下
/*NOIP普及组2012 t4 culture*/
//根据多个解题报告所说,floyd算法能过只是因为数据范围小
//我们需要dij或者dfs
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
const int inf=;
int c[];//文明[i]的文化
int fl[][];//文化拒绝
int mp[][];//图
//int DFS(){ //}
int main(){
int i,j,n,k,m,s,t;
// freopen("culture.in","r",stdin);
// freopen("culture.out","w",stdout);
//in
scanf("%d%d%d%d%d",&n,&k,&m,&s,&t);
for(i=;i<=n;i++){
scanf("%d",&c[i]);
}
for(i=;i<=n;i++)
for(j=;j<=n;j++){
if(i!=j)mp[i][j]=inf;//预处理
}
for(i=;i<=k;i++)
for(j=;j<=k;j++)
scanf("%d",&fl[i][j]);//读入文化兼容情况 for(i=;i<=m;i++){
int u,v,d;
scanf("%d%d%d",&u,&v,&d);
mp[u][v]=min(mp[u][v],d);//两座城市间若有多条道路,记录最短的即可
mp[v][u]=mp[u][v];//双向图
}
for(i=;i<=n;i++)
for(j=;j<=n;j++){
if(fl[c[i]][c[j]]==)mp[j][i]=inf;//如果文化不兼容,相当于道路不通
//刚开始mp[j][i]误打成mp[i][j],费了半天时间查错
//这部分原本想边读边处理,但是发现会影响到双向距离处理,只好单拿出来了
}
//
//floyd 不能走的路之前都处理成inf了,直接floyd就行
for(k=;k<=n;k++)
for(i=;i<=n;i++)
for(j=;j<=n;j++){
if(mp[i][k]+mp[k][j]<mp[i][j]){
mp[i][j]=mp[i][k]+mp[k][j];
}
}
//
if(mp[s][t]==inf)printf("-1");
else printf("%d",mp[s][t]);
// fclose(stdin);
// fclose(stdout);
return ; }
NOIP2012普及组 (四年后的)解题报告 -SilverN的更多相关文章
- NOIP2008 普及组T2 排座椅 解题报告-S.B.S
题目描述 上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情.不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳.同学 ...
- NOIP2008 普及组T1 ISBN号码 解题报告-S.B.S.
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一 ...
- NOIP2008 普及组T3 传球游戏 解题报告-S.B.S.
题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球,每个同 ...
- 「洛谷P1080」「NOIP2012提高组」国王游戏 解题报告
P1080 国王游戏 题目描述 恰逢 \(H\)国国庆,国王邀请\(n\)位大臣来玩一个有奖游戏.首先,他让每个大臣在左.右手上面分别写下一个整数,国王自己也在左.右手上各写一个整数.然后,让这 \( ...
- NOIP2012 普及组真题 4.13校模拟
考试状态: 我今天抽签看了洛谷的… 这我能怂???凶中带吉,我怕考试??我!不!怕! 看着整个机房的男同学们,我明白我是不会触发我的忌了.很好,开刷. A. [NOIP2012普及组真题] 质因数分解 ...
- 【剑指Offer】连续子数组的最大和 解题报告(Python)
[剑指Offer]连续子数组的最大和 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- NOIP2012 普及组 T3 摆花——S.B.S.
题目描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆.通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号.为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时 ...
- NOIP2015 提高组(senior) 解题报告
过了这么久才来发解题报告,蒟蒻实在惭愧 /w\ Day1 T1 [思路] 模拟 [代码] #include<iostream> #include<cstring> #inclu ...
- [Noip2012普及组]摆花
Description 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共 m 盆.通过调查顾客的喜好,小明列出了顾客最喜欢的 n 种花,从 1 到 n 标号.为了在门口展出更多种花,规定 ...
随机推荐
- 什么是目标框架别名(What are the Target Framework Monikers (TFMs))?
我们现在的.NET Core 1.0应用(ASP.NET Core 1.0应用或控制台应用)有了新的被运行在不同框架上的可能性:①运行在.NET Core平台上 ②运行在传统的.NET Framewo ...
- Ideal-image-slider 幻灯片
在线实例 实例演示 默认效果 实例演示 淡入淡出 实例演示 带链接 实例演示 项目导航 实例演示 带标题描述 实例演示 回调函数 实例演示 自定义切换 使用方法 <div class=" ...
- Android Activity/Service/Broadcaster三大组件之间互相调用
我们研究两个问题,1.Service如何通过Broadcaster更改activity的一个TextView.(研究这个问题,考虑到Service从服务器端获得消息之后,将msg返回给activity ...
- 用QQ号登陆Sharepoint,研究到最后关头卡住了。大家发力呀
此项目未完成,登陆不了SharePoint,大家研究吧,折腾吧..... 已经完成的部分有:已经可以获取到腾讯用户信息,如: Get Access Token===============access ...
- Sharepoint 2013 关于"SPChange"简介
在SharePoint中,我们经常会需要获取那些改变的项目,其实api为我们提供了SPChange对象,下面,我们通过列表简单介绍下这一对象. 1.创建一个测试列表,名字叫做“SPChangeItem ...
- Java中的守护线程和非守护线程(转载)
<什么是守护线程,什么是非守护线程> Java有两种Thread:"守护线程Daemon"(守护线程)与"用户线程User"(非守护线程). 用户线 ...
- Force.com微信开发系列(四)申请Access Token及自定义菜单之创建菜单
在微信接口开发中,许多服务的使用都离不开Access Token,Access Token相当于打开这些服务的钥匙,正常情况下会在7200秒内失效,重复获取将导致上次获取的Token失效,本文将首先介 ...
- 简析android消息模型
android总结系列 一.消息系统构成要素和基本原理 l 消息队列 l 发送消息 l 消息读取 l 消息分发 l 消息循环线程 消息系统必须要依赖一个消息循环线程来轮询自己的消息队列,如果 ...
- 在Android开发中使用Ant 一:环境的搭建及入门
配置Ant环境 下载Ant:http://ant.apache.org/bindownload.cgi 在windows上应该选择zip压缩包,将zip压缩包解压到一个目录. 打开系统环境变量,在系统 ...
- iOS七大手势识别
也没有什么好说的,方法都差不多,只要记得当你想要同时实现两个或多个手势的话,要遵守<UIGestureRecognizerDelegate>协议,闲言休叙,直接上代码: #import & ...