NOIP2018提高组Day1 解题报告】的更多相关文章

前言 关于\(NOIP2018\),详见此博客:NOIP2018学军中学游记(11.09~11.11). 这次\(NOIP\ Day1\)的题目听说很简单(毕竟是三道原题),然而我\(T3\)依然悲剧地写炸了. 很奇怪啊,毕竟在几乎所有民间数据中我这题都\(AC\)了... ... \(T1\):铺设道路(点此看题面) 另一个题面 我的思路是,每个元素肯定都是由其左右两边第一个比它小的数转移而来的. 于是就开了两个单调栈,前后各扫一遍,求出了答案. 然而貌似还有更简单的解法?但我不会. 代码如下…
前言 关于\(NOIP2018\),详见此博客:NOIP2018学军中学游记(11.09~11.11). \(Day2\)的题目和\(Day1\)比起来,真的是难了很多啊. \(T1\):旅行(点此看题面) 对于树的情况,显然可以把相邻的点全部存下来,排序一遍后依次遍历即可. 对于基环外向树的情况,一种简单的方法是每次断一条边,把它当成树的情况,这样是\(O(n^2)\)的. 但我考场上没想到这种做法,结果对于环上的情况单独讨论,结果把这题弄成了一个极为复杂的模拟题,总共打了两个小时才打完.不过…
P1978神奇的幻方 Accepted 描述 幻方是一种很神奇的 N ∗ N 矩阵:它由数字 1,2,3, … … , N ∗ N 构成,且每行.每列及两条对角线上的数字之和都相同. 当 N 为奇数时,我们可以通过以下方法构建一个幻方: 首先将 1 写在第一行的中间. 之后,按如下方式从小到大依次填写每个数 K(K = 2,3, … , N ∗ N) : 若 (K − 1) 在第一行但不在最后一列,则将 K 填在最后一行, (K − 1) 所在列的右一列: 若 (K − 1) 在最后一列但不在第…
第一次写一套题的解题报告,感觉会比较长.(更新中Loading....):) 题目: 第一题:同余方程 描述 求关于x的同余方程ax ≡ 1 (mod b)的最小正整数解. 格式 输入格式 输入只有一行,包含两个正整数a, b,用一个空格隔开. 输出格式 输出只有一行,包含一个正整数x0,即最小正整数解.输入数据保证一定有解. 样例1 样例输入1   3 10 样例输出1   7 限制 每个测试点1s 提示 对于40%的数据,2 ≤b≤ 1,000: 对于60%的数据,2 ≤b≤ 50,000,…
本蒟蒻参加了今年的NOIP2018普及组的初赛 感觉要凉 总而言之,今年的题要说完全没有难度倒也不至于,还有不少拼RP的题,比如第一次问题求解考逻辑推理,第一次完善程序考双链表等 下面我就和大家一起看看 声明:题目答案是我和同时考试的同学们一起做出来的,不保证正确性,不确定的会在之前加* 更新:标准答案出来了,答案不会有误 2018.10.14更新:充实选择题内容 如有错误欢迎指正 一.单项选择题 1.以下哪一种设备属于输出设备:() A 扫描仪 B 键盘 C 鼠标 D 打印机 答案:D 打印机…
1.跳石头 题目描述 一年一度的“跳石头”比赛又要开始了! 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起点和终点的岩石).在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点. 为了提高比赛难度,组委会计划移走一些岩石,使得选手们在比赛过程中的最短跳跃距离尽可能长.由于预算限制,组委会至多从起点和终点之间移走 M块岩石(不能移走起点和终点的岩石). 输入格式 输入文件第一行包含三…
单项选择题: D 进制转换题,送分: D 计算机常识题,Python是解释运行的: B 常识题,1984年小平爷爷曰:“娃娃抓起”: A 数据结构常识题,带进去两个数据就可以选出来: D 历年真题没有做改动,直接就是n²级别(等差数列求和): B 画一棵树就可以了,每年必考的表达式题: B 概率与期望.数学做法有点复杂,不大会:感觉一下就是三分之一: A 押中卡塔兰,一眼题: D 中国重男轻女的家庭,了解一下?男女比例不还是差不多1:1: B 如果不会的话,手动模拟一下就可以了: 不定项选择:…
前缀数组其实就是有序的,那么答案显然是      我们尝试求出通项公式: 证明如下: 因为 所以: 解之得: 更加通俗的写法如下: 易知  令 那么, (错位相减) 由易知等式代入得, 所以, 所以程序如下: # include <bits/stdc++.h> using namespace std; ] ; int main() { freopen("absurdity.in","r",stdin); freopen("absurdity.o…
https://ac.nowcoder.com/acm/contest/920#question A 构造+双指针 发现m的限制是1e5,而点数是5e4,所以不能构造太多的边,思考一下最短路树的定义.会发现其实就是要构造出一个最短路树.按\(a_i\)升序排序,那么只需要找一个在\(a_i-S\)的点连边即可.这个玩意可以直接用双指针或者二分或者其他什么数据结构来实现.判断无解即判断是否存在大于S的边或者0边.复杂度\(O(n \log n)\) #include <bits/stdc++.h>…
题目链接 https://www.luogu.org/problem/P5019 解题思路 一道典型的贪心题. 假设从左往右填坑,如果第i个深与第i+1个,那么第i+1个就不需要额外填: 如果第i+1个大于第i个,就需要填i+1-i的深度,所以就相当于把>0的差分数组加起来就AC了. AC代码 #include<iostream> #include<cstdio> using namespace std; ]; long long ans; int main(){ int n…