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 标号.为了在门口展出更多种花,规定 ...
随机推荐
- PHPWind 8.7中插件金币竞价插件的漏洞
尽管pw团队解散,但无数站点仍在运行. 该插件的名字叫jbjingpai 无意中看到这样一篇帖子,说有漏洞 http://www.phpwind.net/read/1716722 ,不是空穴来风,查一 ...
- QQ视差特效和ListView侧滑删除
如图所示是效果图,当向下拉时,图片会被拉出来,松手后恢复.和ListView的侧滑删除 1.视差特效 首先图片是通过addHeaderView加上去的,所以在设置Adapter前先设置一个View ...
- spring注解配置启动过程
最近看起spring源码,突然想知道没有web.xml的配置,spring是怎么通过一个继承于AbstractAnnotationConfigDispatcherServletInitializer的 ...
- Python on VS Code
install python extension Press F1, and input "ext install python". Then the icon at the le ...
- centos/rhel 6.5下rabbitmq安装(最简单方便的方式)
wget -c http://apt.sw.be/redhat/el5/en/x86_64/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.x86_64.r ...
- mysql init-file参数中语句限制
mysql 启动选项中的init-file文件的内容目测只能是dml语句,不能包含ddl,否则执行就会报错,但不影响启动本身..太扯了..
- HTML Window.document对象
1.Window.document对象 一.找到元素: docunment.getElementById("id"):根据id找,最多找一个: var a =docunmen ...
- [js开源组件开发]图片放大镜
图片放大镜 一般情况下,手机由于屏幕太小,会有图片上看不清的问题,所以我就做了一个放大镜的js效果,支持pc和移动端.它的原理是利用的backgroundsize来实现的,所以你的浏览器首先要支持这个 ...
- EntityFramework学习
本文档主要介绍.NET开发中两项新技术,.NET平台语言中的语言集成查询技术 - LINQ,与ADO.NET中新增的数据访问层设计技术ADO.NET Entity Framework.ADO.NET的 ...
- 关于js中两种定时器的设置及清除
1.JS中的定时器有两种: window.setTimeout([function],[interval]) 设置一个定时器,并且设定了一个等待的时间[interval],当到达时间后,执行对应的方法 ...