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 标号.为了在门口展出更多种花,规定 ...
随机推荐
- ThreadLocal解决线程安全问题
一.线程安全问题产生的原因 线程安全问题都是由全局变量及静态变量引起的 二.线程安全问题 SimpleDateFormate sdf = new SimpleDateFormat();使用sdf.pa ...
- Win764位配置Github环境及将代码部署到Github pages-志银强势总结
(软件及教程下载分享:链接:http://pan.baidu.com/s/1dFysay9 密码:pug0) 1-安装Git-2.9.2-64-bit.exe(解压安装文件,运行安装程序,除了记得修改 ...
- hibernate初步4
JPA 1.JPA概述 JPA(Java Persistence API)是Sun官方提出的Java持久化规范.它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据.,而Hi ...
- 利用PBFunc在Powerbuilder中解析Json对象
利用PBFunc工具在Powerbuilder解析json,只需要调用getattribute方法来获取 解析unicode格式的json: n_pbfunc_json lnv_json lnv_js ...
- ArrayList,Hashtable,List<T>,Dictionary<K,V>
1.ArrayList ArrayList list = new ArrayList(); //for遍历 ; i < list.Count; i++) { SE se=(SE)list[i]; ...
- [ASP.NET MVC] Model Binding With NameValueCollectionValueProvider
[ASP.NET MVC] Model Binding With NameValueCollectionValueProvider 范例下载 范例程序代码:点此下载 问题情景 一般Web网站,都是以H ...
- JS中标准对象
JS中标准对象1:不要使用new Number().new Boolean().new String()创建包装对象:2:用parseInt()或parseFloat()来转换任意类型到number: ...
- javascript --- 将共享属性迁移到原型中去
当我们用一个构造函数创建对象时,其属性就会被添加到this中去.并且被添加到this中的属性实际上不会随着实体发生改变,这时,我们这种做法显得会很没有效率.例如: function her(){ th ...
- c++类的定义《一》
最近好忙,一来要在店里看店,二来朋友办结婚酒,搞的我这几天好疲惫啊···博客又有好几天没提笔了. 下午简单看了下书,看到了类的部分,自己动手练习了一下 笔记:1.类是数据类型 / 它的变童就是对象 ...
- 实验12:Problem C: 重载字符的加减法
Home Web Board ProblemSet Standing Status Statistics Problem C: 重载字符的加减法 Problem C: 重载字符的加减法 Time ...