【洛谷】NOIP2018原创模拟赛DAY1解题报告
T1:小凯的数字
题意:给定q个l,r,求l(l+1)(l+2)...(r-1)r模9的结果
很显然,这是道考验数(运)学(气)的题目
结论:输出\((l+r)*(r-l+1)\over2\)(具体证明见比赛官方博客)
需要注意的是不能直接乘,不然会爆long long
而且,这道题卡快读。。。
Code:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll q,l,r;
int main(){
scanf("%lld",&q);
for(ll i=1;i<=q;i++){
scanf("%lld%lld",&l,&r);
ll fir,scd;fir=l+r;scd=(r-l+1);
if(fir%2==0)fir/=2;
else scd/=2;
fir%=9;scd%=9;
printf("%lld\n",(fir*scd)%9);
}
return 0;
}
T2:密室
题意:哈利和罗宾在一张无向图中,他们要到两个房间去,而其中有一些房间是只有哈利才能去的,最少需要多少时间,一共有n个点,m条边,k个只有哈里才能去的房间
不难的图论题,显然只存在几种情况,
要么哈利到A,罗宾到B 要么哈利到B,罗宾到A
还有一种就是哈利一个人走过两个房间(因为罗宾能走的路哈利都能走,而哈利走的路罗宾不一定都能走,所以一个人走,哈利绝不会比罗宾慢)
所以,只要找这几条最短路就可以了
1.哈利到房间A,房间B的最短路n
2.罗宾到房间A,房间B的最短路
3.哈利从房间A到房间B的最短路
Code:
#include<bits/stdc++.h>
#include<queue>
#define N 200001
using namespace std;
int n,m,k,ed1,ed2,cnt,head[N],v[N],dis[N],snake[N];
struct Edge{
int nxt,to,val;
}tree[N];
void read(int &x){
char ch; bool ok;
for(ok=0,ch=getchar(); !isdigit(ch); ch=getchar()) if(ch=='-') ok=1;
for(x=0; isdigit(ch); x=x*10+ch-'0',ch=getchar()); if(ok) x=-x;
}
void add(int a,int b,int c){
++cnt;
tree[cnt].nxt=head[a];
tree[cnt].to=b;
tree[cnt].val=c;
head[a]=cnt;
}
void spfa1(int v0){
for(int i=1;i<=n;i++)dis[i]=1000000001,v[i]=0;
queue<int>q;
q.push(v0);v[v0]=1;dis[v0]=0;
while(q.size()){
int x=q.front();q.pop();v[x]=0;
for(int i=head[x];i;i=tree[i].nxt){
int j=tree[i].to;
if(dis[j]>dis[x]+tree[i].val){
dis[j]=dis[x]+tree[i].val;
if(!v[j])q.push(j),v[j]=1;
}
}
}
}
void spfa2(int v0){
for(int i=1;i<=n;i++)dis[i]=1000000001,v[i]=0;
queue<int>q;
q.push(v0);v[v0]=1;dis[v0]=0;
while(q.size()){
int x=q.front();q.pop();v[x]=0;
for(int i=head[x];i;i=tree[i].nxt){
int j=tree[i].to;
if(!snake[j]&&dis[j]>dis[x]+tree[i].val){
dis[j]=dis[x]+tree[i].val;
if(!v[j])q.push(j),v[j]=1;
}
}
}
}
int main(){
read(n),read(m),read(k);
for(int i=1;i<=k;i++){
int s;read(s);snake[s]=1;
}
for(int i=1;i<=m;i++){
int a,b,c;
read(a),read(b),read(c);
add(a,b,c);add(b,a,c);
}
read(ed1),read(ed2);
spfa1(1);
int hd1=dis[ed1],hd2=dis[ed2];
spfa1(ed1);int hd12=dis[ed2];
spfa2(1);
int rd1=dis[ed1],rd2=dis[ed2];
int ans1=min(hd1,hd2)+hd12;int ans2=min(max(hd1,rd2),max(hd2,rd1));
printf("%d",min(ans1,ans2));
return 0;
}
T3:PION贪吃蛇
不会。。。
【洛谷】NOIP2018原创模拟赛DAY1解题报告的更多相关文章
- CH Round #54 - Streaming #5 (NOIP模拟赛Day1)解题报告
最近参加了很多CH上的比赛呢~Rating--了..题目各种跪烂.各种膜拜大神OTZZZ T1珠 描述 萌蛋有n颗珠子,每一颗珠子都写有一个数字.萌蛋把它们用线串成了环.我们称一个数字串是有趣的,当且 ...
- 洛谷 P5046 [Ynoi2019 模拟赛] Yuno loves sqrt technology I(分块+卡常)
洛谷题面传送门 zszz,lxl 出的 DS 都是卡常题( 首先由于此题强制在线,因此考虑分块,我们那么待查询区间 \([l,r]\) 可以很自然地被分为三个部分: 左散块 中间的整块 右散块 那么这 ...
- 【HHHOJ】NOIP模拟赛 捌 解题报告
点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...
- 洛谷 P2323 [HNOI2006]公路修建问题 解题报告
P2323 [HNOI2006]公路修建问题 题目描述 输入输出格式 输入格式: 在实际评测时,将只会有m-1行公路 输出格式: 思路: 二分答案 然后把每条能加的大边都加上,然后加小边 但在洛谷的题 ...
- 【HHHOJ】NOIP模拟赛 玖 解题报告
点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...
- 冲刺Noip2017模拟赛2 解题报告——五十岚芒果酱
题1 牛跑步(running) [题目描述] 新牛到部队,CG 要求它们每天早上搞晨跑,从 A 农场跑到 B 农场.从 A 农场到 B 农场中有 n- 个路口,分别标上号,A 农场为 号,B 农场为 ...
- 冲刺Noip2017模拟赛1 解题报告——五十岚芒果酱
题1 国际象棋(chess) [问题描述] 有N个人要参加国际象棋比赛,该比赛要进行K场对弈.每个人最多参加2场对弈,最少参加0场对弈.每个人都有一个与其他人都不相同的等级(用一个正整数来表示).在对 ...
- 20161005 NOIP 模拟赛 T2 解题报告
beautiful 2.1 题目描述 一个长度为 n 的序列,对于每个位置 i 的数 ai 都有一个优美值,其定义是:找到序列中最 长的一段 [l, r],满足 l ≤ i ≤ r,且 [l, r] ...
- 冲刺Noip2017模拟赛5 解题报告——五十岚芒果酱
1. 公约数(gcd) [问题描述] 给定一个正整数,在[,n]的范围内,求出有多少个无序数对(a,b)满足 gcd(a,b)=a xor b. [输入格式] 输入共一行,一个正整数n. [输出格式] ...
随机推荐
- iscsi target tgt架构
tgt是用户态实现的iscsi target,而iet(iscsi enterprise target)是在内核态实现的target,tgt相比于iet来说,因为其用户态实现,方便调试,新加入一些功能 ...
- 解决Android中,禁止ScrollView内的控件改变之后自动滚动 - 转
问题: 最近在写一个程序界面,有一个scrollVIew,其中有一段内容是需要在线加载的. 当内容加载完成后,ScrollView中内容的长度会发生改变,这时ScrollView会自动下滚,如下图所示 ...
- 20155217《网络对抗》Exp09 Web安全基础实践
20155217<网络对抗>Exp09 Web安全基础实践 实践内容 关于webgoat:询问了很多人在安装webgoat时出现了错误,安装失败,因此直接通过同学copy了老师的虚拟机进行 ...
- libgdx学习记录4——舞台Stage
libgdx总的来说是一个框架,而不是一个成熟的游戏引擎.Stage是其中一个比较好的封装,里面自带Camera.SpriteBatch等常用渲染绘图工具. 下面是一个简单的添加图片,并让镜头左右上下 ...
- JavaScript快速入门-ECMAScript运算符
1.逻辑运算符 逻辑与:&&(and) 逻辑或:||(or) 逻辑非:!(not) 逻辑 AND 运算符(&&) 逻辑 AND 运算的运算数可以是任何类型的,不止是 B ...
- 前端示例MVC网站
前端示例MVC网站 ASP.NET Zero 包含了一个公共web站点的前端页面和一个登陆页面.当您第一次运行项目的时候可以看到,如下图所示: 该前端网站有两个页面,一个是主页和关于我们.这些页面的内 ...
- Java设计模式之适配器设计模式(项目升级案例)
今天是我学习到Java设计模式中的第三个设计模式了,但是天气又开始变得狂热起来,对于我这个凉爽惯了的青藏人来说,又是非常闹心的一件事儿,好了不管怎么样,目标还是目标(争取把23种Java设计模式接触一 ...
- Houdini Linux Crack
安装 破解停止服务 /etc/init.d/sesinetd stop 刪除sesinetd | 拷贝破解文件sesinetd | 修改sesinetd的权限(读写权限) cd /usr/lib/se ...
- HyperLedger/Fabric SDK使用Docker容器镜像快速部署上线
HyperLedger/Fabric SDK Docker Image 该项目在github上的地址是:https://github.com/aberic/fabric-sdk-container ( ...
- it喜爱的歌词
1.曼丽 我们的过去我们的情义怎么能忘记 #曼丽你怎么这样忍心静静的就离去 #我很伤心从今以后不能够见到你 #只有留下你往日的情景使我常回忆 #一样的青山一样的绿水只有我和你 #曼丽可记得我们时常快 ...