点此进入比赛

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解题报告的更多相关文章

  1. CH Round #54 - Streaming #5 (NOIP模拟赛Day1)解题报告

    最近参加了很多CH上的比赛呢~Rating--了..题目各种跪烂.各种膜拜大神OTZZZ T1珠 描述 萌蛋有n颗珠子,每一颗珠子都写有一个数字.萌蛋把它们用线串成了环.我们称一个数字串是有趣的,当且 ...

  2. 洛谷 P5046 [Ynoi2019 模拟赛] Yuno loves sqrt technology I(分块+卡常)

    洛谷题面传送门 zszz,lxl 出的 DS 都是卡常题( 首先由于此题强制在线,因此考虑分块,我们那么待查询区间 \([l,r]\) 可以很自然地被分为三个部分: 左散块 中间的整块 右散块 那么这 ...

  3. 【HHHOJ】NOIP模拟赛 捌 解题报告

    点此进入比赛 得分: \(30+30+70=130\)(弱爆了) 排名: \(Rank\ 22\) \(Rating\):\(-31\) \(T1\):[HHHOJ260]「NOIP模拟赛 捌」Dig ...

  4. 洛谷 P2323 [HNOI2006]公路修建问题 解题报告

    P2323 [HNOI2006]公路修建问题 题目描述 输入输出格式 输入格式: 在实际评测时,将只会有m-1行公路 输出格式: 思路: 二分答案 然后把每条能加的大边都加上,然后加小边 但在洛谷的题 ...

  5. 【HHHOJ】NOIP模拟赛 玖 解题报告

    点此进入比赛 得分: \(100+20+100=220\)(还不错) 排名: \(Rank\ 16\) \(Rating\):\(+20\) \(T1\):[HHHOJ263]「NOIP模拟赛 玖」三 ...

  6. 冲刺Noip2017模拟赛2 解题报告——五十岚芒果酱

    题1 牛跑步(running) [题目描述] 新牛到部队,CG 要求它们每天早上搞晨跑,从 A 农场跑到 B 农场.从 A 农场到 B 农场中有 n- 个路口,分别标上号,A 农场为 号,B 农场为 ...

  7. 冲刺Noip2017模拟赛1 解题报告——五十岚芒果酱

    题1 国际象棋(chess) [问题描述] 有N个人要参加国际象棋比赛,该比赛要进行K场对弈.每个人最多参加2场对弈,最少参加0场对弈.每个人都有一个与其他人都不相同的等级(用一个正整数来表示).在对 ...

  8. 20161005 NOIP 模拟赛 T2 解题报告

    beautiful 2.1 题目描述 一个长度为 n 的序列,对于每个位置 i 的数 ai 都有一个优美值,其定义是:找到序列中最 长的一段 [l, r],满足 l ≤ i ≤ r,且 [l, r] ...

  9. 冲刺Noip2017模拟赛5 解题报告——五十岚芒果酱

    1. 公约数(gcd) [问题描述] 给定一个正整数,在[,n]的范围内,求出有多少个无序数对(a,b)满足 gcd(a,b)=a xor b. [输入格式] 输入共一行,一个正整数n. [输出格式] ...

随机推荐

  1. php 操作时间、日期类函数

    <?php // time() echo "time(): ",time(); echo "\n"; // strtotime() echo " ...

  2. 20155217《网络对抗》Exp07 网络欺诈防范

    20155217<网络对抗>Exp07 网络欺诈防范 实践内容 简单应用SET工具建立冒名网站 ettercap DNS spoof 结合应用两种技术,用DNS spoof引导特定访问到冒 ...

  3. # 2017-2018-2 20155319『网络对抗技术』Exp7:网络欺诈防范

    2017-2018-2 20155319『网络对抗技术』Exp7:网络欺诈防范 一.原理与实践说明 1.实践目标 本实践的目标是:理解常用网络欺诈背后的原理,以提高防范意识,并提出具体防范方法. 2. ...

  4. Luogu P1120 小木棍 [数据加强版]

    看了题目心中只有一个字——搜索!!! 但是很显然,朴素的搜索(回溯)绝壁超时. 剪枝&优化(要搞很多,要不然过不了) 1:从小到大搜索它们的因数,这样找到就exit. 2:将数据从大到小排序, ...

  5. Java 多线程(四)之守护线程(Daemon)

    目录 定义 如何创建 判断 注意事项 函数setDaemon(true)必须在 start() 函数之前使用. 守护线程中产生的线程也是守护线程: 测试 @ 定义 Java 中有两种线程: 一种是用户 ...

  6. Java关键字 Finally执行与break, continue, return等关键字的关系

    长文短总结: 在程序没有在执行到finally之前异常退出的情况下,finally是一定执行的,即在finally之前的return语句将在finally执行之后执行. finally总是在控制转移语 ...

  7. C#易忘点

    下面是自己总结的一些C#语言方面用的少容易忘的地方,总结一下,在用的时候看一下.(仅针对本人) 参数数组 定义一个函数,用来取得数字的和,但是数字的个数不确定. 解决方案: 1,定义一个函数,参数传递 ...

  8. 【MAVEN】Missing artifact jdk.tools:jdk.tools:jar:1.6 eclipse

    搭建开发环境,遇到问题 : IDE 使用 eclipse 公司的项目用Maven管理,从git上拿下来代码后开始build后:    提示    [missing artifact jdk.tools ...

  9. 技术进阶:Kubernetes高级架构与应用状态部署

    在了解Kubernetes应用状态部署前,我们先看看Kubernetes的高级架构,方便更好的理解Kubernetes的状态. Kubernetes 的高级架构 包括应用程序部署模型,服务发现和负载均 ...

  10. ini_set的用法介绍

    https://www.cnblogs.com/xieqian111/p/5367732.html