点此进入比赛

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. rpm yum apt-get redhat centos ubuntu

    rpm是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是rpm软件包之间的依赖性问题往往会很繁琐,尤其是软件由多个rpm包组成时.Yum(全称为 Y ...

  2. Struts2_learning

    一.这是我学习struts2所做的一个记录,因为整个过程较为麻烦,所以,记录下来,以便以后使用 过程: 步骤: 1)dynamic web project 2)jars 3)struts.xml pa ...

  3. 20155325 Exp2 后门原理与实践

    基础问答 例举你能想到的一个后门进入到你系统中的可能方式? 乱点链接 学电脑小白不正确配置电脑 下载非官网软件 例举你知道的后门如何启动起来(win及linux)的方式? 软件:ncat socat ...

  4. 使用HibernateDaoSupport抽取BaseDao

            在开发采用Struts2+Spring+hibernate这三大框架的项目时,我们需要一个抽取一个BaseDao.这个Dao里面CRUD都给封装好,后续的其他Dao直接用它的功能就可以 ...

  5. Class does not Implement Equals——Code Correctness(代码正确性)

        系列文章目录:     使用Fortify进行代码静态分析(系列文章) class does not implement equals(类未能实现Equals方法)   示例:  protec ...

  6. 外部事件/中断的区别及EXTI->SWIER的用途

    EXTI_SWIER作用:允许我们通过程序控制就可以启动中断/事件线 1.产生事件的线路最终的产物是一个脉冲信号,这个脉冲信号可以给其他外设电路使用,比如定时器TIM.模拟数字转换器ADC等等. 2. ...

  7. 关于元素设置margin-top能够改变body位置的原因及解决(子元素设置margin-top改变父元素定位)

    关于元素设置margin-top能够改变body位置的原因及解决(子元素设置margin-top改变父元素定位) 起因:在进行bootstrap的.navbar-brand内文字设置垂直居中时采用li ...

  8. 《无所不能的JavaScript编程系列:setTimeout 简笔》

    前言:问题引出 JavaScript中会经常用到setTimeout来推迟一个函数的执行,如: setTimeout(function(){alert("Hello World") ...

  9. Unity5.6之前版本VRTK插件基础交互

    一.VR运行环境配置: 安装steam,在steam上安装SteamVR驱动. 在Unity项目中需要导入VRTool插件包(已上传服务器),里面包含两个插件一个是SteamVR插件,一个是VRTK插 ...

  10. linux内核分析第二次实验

    http://blog.sina.com.cn/s/blog_78e559950102wnqp.html