NOIP模拟题
文章平均质量分 70
JacquesdeH
.
展开
-
NOIP 模拟题 C17 [容斥原理]
再数17 (c17.pas/.c/.cpp) 【问题描述】 之前,小cot发邮件问小cos一个区间所有整数里有多少个“17”,小cos在你的帮助下回答了这个奇怪的问题,然而得到的回信只有“你对了:-)”这几个字……小cos耿耿于怀,始终弄不明白小cot的意图。 终于,小cos决定主动问小cot一些问题。他先写了封邮件,问“17”的含义,回信写道:“我喜欢……17这个数字~”。小cos原创 2016-07-24 18:13:26 · 557 阅读 · 0 评论 -
NOIP模拟题 2016.11.8 (2) [线段树] [动态逆序对] [矩阵快速幂] [数论] [欧拉函数]
T1: 题意:有一个序列,m次操作,每次操作指定一个位置,将当前位置和该位置后面所有比它小的数构成的子序列排序,放入原位置。求每次操作后,逆序对个数。首先在线做法不好做,那么考虑离线。 对于一个数,它对逆序对个数贡献为0的时候,就是它之间比它大的数,最早的操作时间。 那么可以采用线段树维护这个最早时间,从前向后走一遍,边走边更新线段树并查询。 每次把这个数对应最早时间的答案减去当前后面比它小原创 2016-11-09 23:34:37 · 613 阅读 · 0 评论 -
NOIP模拟题 2016.10.5 [Trie] [数学] [二分答案] [杂题] [复杂状态DP]
T1: 题意:求序列中两两取& | ^的最大值。。这道题相当于三道题。。XOR就是Trie树上贪心即可,注意一开始不可以加入0这个串,并且插入a[1]后从i=2开始匹配。 另外,匹配的时候两种写法。 第一种取反后匹配,这里要注意取反后不能限制最高位!!因为有可能超出最高位的位置可以填1!! 第二种的话,就是一边匹配一边用ans|=(1<原创 2016-10-06 08:09:29 · 496 阅读 · 0 评论 -
NOIP模拟题 2016.11.10 [模拟] [状压DP] [线段树] [DFS序]
A Statement 给出一个长度不超过100只包含’B’和’R’的字符串,将其无限重复下去。 比如,BBRB则会形成 BBRBBBRBBBRB 现在给出一个区间[l,r]询问该区间内有多少个字符’B’(区间下标从1开始) Input 第一行为一个只包含’B’和’R’的字符串 第二行为两个整数,表示l和r Output 输出[l,r]区间内字符’B’的数量 Sample In原创 2016-11-10 11:47:52 · 699 阅读 · 0 评论 -
NOIP模拟题 2016.11.11 [搜索] [动态规划] [网络流] [字符串处理]
tractor 题目描述 农场上有N(1 <= N <= 50,000)堆草,放在不同的地点上。FJ有一辆拖拉机,也在农场上。拖拉机和草堆都表示为二维平面上的整数坐标,坐标值在1..1000的范围内。拖拉机的初始位置与所有草堆不同。 FJ开拖拉机时,只能平行于坐标轴(即东、南、西、北四个方向),而且每次开动的一段必须是整数长度。 例如,他可以向北开2个单位长度,然后向东开3个单位长度。拖拉机原创 2016-11-11 12:12:54 · 879 阅读 · 0 评论 -
NOIP模拟题 2016.10.31 [DP] [搜索] [并查集]
**NOIP模拟赛 【题目** 【问题描述】 Mushroom手中有n个数排成一排,现在Mushroom想取一个连续的子序列,使得这个子序列满足:最多只改变一个数,使得这个连续的子序列是严格上升子序列,Mushroom想知道这个序列的最长长度是多少。 【输入格式】 第一行一个整数n,表示有n个数。 第二行为n个数。 【输出格式】 一个数,为最长长度。 【输入样例】 6 7 2原创 2016-10-31 20:25:24 · 757 阅读 · 0 评论 -
NOIP模拟题 2016.11.12 [Catalan数] [贪心] [动态规划] [DLX] [数独]
T1: 题意:有2N个数,排成两列,要求每一列中的数递增,并且同一位置右边的数比左边的大。ans(1…4)=1,2,5,14很明显的Catlan数。。 怎么推出来的我也不知道。 F[n] = F[n-1] * (4n-2) / (n+1),预处理逆元。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>原创 2016-11-12 14:15:31 · 913 阅读 · 0 评论 -
NOIP模拟题 2016.11.16 [模拟] [组合数递推] [数据分治] [Hash]
LGTB 与序列 LGTB 得到了一个序列,他想在这个序列中选择一个最长的连续子序列,使得这个子序列的最大公约数等于 1。请告诉他他能得到的最大长度,如果没有这样的序列,输出��1 输入 输入第一行包含一个整数n 代表序列大小 接下来一行,包含n 个整数a1, a2, …, an,代表序列 对于50% 的数据,1 n 1000 对于100% 的数据,1 n 105 1原创 2016-11-16 19:09:17 · 897 阅读 · 0 评论 -
NOIP模拟题 2016.11.1 [模拟] [贪心] [杂题]
T1: 题意: 模拟祖玛游戏。。。 没有必要用链表,因为找第几位的时候也是要O(n)走一遍的,不如直接平移。 注意串为空!! 虽然题目说了一开始串中没有可以消除的,但是数据还是有。。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<vector>#原创 2016-11-01 18:49:41 · 888 阅读 · 0 评论 -
NOIP模拟题 2016.11.17 [数论] [数位DP] [扫描线] [线段树]
T1: 题意:求[L,R]内素数的个数。预处理O(sqrt(n))个素数,然后筛法求素数,平移一下。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<vector>#include<queue>#include<stack>#include<map>原创 2016-11-17 14:09:20 · 671 阅读 · 0 评论 -
NOIP模拟题 2016.11.2 [数论]
T1:水题。T2:注意建图时的常数优化。。。。T3:数论。 关键在于已知勾股数组(a,b,c)中的c,要求快速求出所有的a,b。根据勾股数的性质来枚举b,c的差是不可取的,因为中间有重复的情况。。设勾股数为(a,b,r),那么b = sqrt( (r-a)*(r+a) ) 令 d = gcd( r-a,r+a ) ,A = (r-a)/d , B = (r+a)/d ,那么显然gcd(A,B)原创 2016-11-02 15:38:22 · 647 阅读 · 1 评论 -
NOIP模拟题 2016.11.18 [数论] [计数] [并查集]
第一题:信(believe.cpp/c/pas) 背景描述: 一切死亡都有冗长的回声 —— 《一切》北岛 给定一个N个元素的序列A, 定义Bi = (Ai and A1) + (Ai and A2) + (Ai and A3)+ …… + (Ai and An) 定义Ci = (Ai or A1) + (Ai or A2) + … + (Ai or An) 求B和C序列。 输入格式:原创 2016-11-18 14:46:29 · 853 阅读 · 2 评论 -
NOIP模拟题 2016.11.9 [动态规划] [数论] [二分答案] [启发式合并] [线段树] [树链剖分]
子序列 描述 给定3 个字符串,求它们的最长公共子序列。 输入 第一行一个整数n,表示三个字符串的长度 接下来三行,每行是一个长度为n 只包含小写字母的字符串。 输出 输出最长公共子序列的长度。 输入样例 4 abac abbc cbca 输出样例 2 提示 30% n<=10 100% n<=120T1: 三个串的LCS。。直接DP。。#include<iost原创 2016-11-09 14:43:15 · 1071 阅读 · 2 评论 -
NOIP模拟题 2016.10.18 [二分答案] [从上到下的树形DP] [链表翻转]
T1: 题意:给定x正半轴和y正半轴上的n个点,依次按顺序连接,保证线段不相交。m次询问,询问每个点与原点的连线与这些线段有多少个交点。二分答案。。 每次分到一个线段check一下点和线段的位置关系即可。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<原创 2016-10-19 10:58:06 · 563 阅读 · 0 评论 -
NOIP模拟题 2016.7.15 [位运算] [搜索] [递推优化] [计算几何]
NOIP2014 提高组模拟试题第一试试题题目概况:中文题目名称合理种植排队科技节源程序文件名plant.pas/.c/.cpplineup.pas/.c/.cppscifest.pas/.c/.cpp输入文件名plant.inlineup.inscifest.in输出文件名plant.outlineup.outscifest.out每个测试点时限1s1s1s测试点数目101010每个测试点分值10原创 2016-07-26 19:09:22 · 527 阅读 · 0 评论 -
NOIP模拟题 2016.9.10 [动态规划] [概率] [贪心]
计算器 LGTB 有一个计算器,只有乘法、等号和部分数字键可以用,现在LGTB 想要用这个计算器按出某些数字, 问最少需要按几下按键。 输入 输入包括两行,第一行为一个整数n,表示LGTB 想要按出的数。 第二行有10 个整数,取值为0 或1。依次表示从0 9 这10 个按键是否可用,0 表示不可用,1 表示可用。 对于100% 的数据,1 n 1000000 输出 输出包括原创 2016-09-10 16:48:17 · 633 阅读 · 4 评论 -
NOIP 模拟题 friendly [最小生成树] [ST在线] [hash]
友谊赛 (friendly.pas/.c/.cpp) 【问题描述】 大COS所在的FC幽寂即将与皇家钨冀进行一场足球友谊赛。与一般的足球比赛11人制不同,这场友谊赛两队各有n位球员同时在场上奔跑,场面十分壮(hun)观(luan)。当然,球还是只有一个。 现在,FC幽寂主教练卡犇要制定战术。在进攻上,为了保证团队的协调有序,(直接)传球必须在特定球员之间进行,方向不限。例如门原创 2016-07-24 18:20:44 · 597 阅读 · 0 评论 -
NOIP模拟题 LGTB 玩THD [DP]
LGTB 玩THDLGTB 最近在玩一个类似DOTA 的游戏名叫THD 有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面 每个小兵有一定的血量hi,杀死后有一定的金钱gi 每一秒,他都可以攻击任意一个活着的小兵,对其造成P 点伤害,如果小兵的血量低于1 点,小兵死亡,他 得到金钱。他也可以不攻击任何小兵。 每一秒LGTB 攻击完毕之后,塔会攻击距离塔最近的一个活着的小兵,对其原创 2016-07-26 19:03:06 · 574 阅读 · 0 评论 -
NOIP模拟题 2016.9.3 [数论] [逆序对] [树状数组] [树形dp]
强迫症 问题描述 人行道铺着两行地砖,第一行每块的长度是A/B,第二行每块的长度是X/Y。两行砖块 第一块的一边是对齐的。 作为一个强迫症患者,看到这样的地砖你很不爽,于是就想知道,最少隔多少距离后两 行地砖的缝隙又会对齐。 输入格式 输入第一行包含一个整数T,表示测试点组数。 接下来T 行,每行两个分数,格式为A/B X/Y,两个分数中间用一个空格隔开。 输出格式 T 行,每行原创 2016-09-03 18:10:47 · 904 阅读 · 0 评论 -
NOIP模拟题 2016.9.24 [贪心] [有依赖的背包问题] [图论] [spfa或tarjan缩点+DAGdp]
1.排座椅 (seat.pas/c/cpp) 【问题描述】 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室中坐成了M行N列,坐在第i行第j列 的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明原创 2016-09-26 00:44:36 · 706 阅读 · 1 评论 -
NOIP模拟题 2016.11.4 [数论] [费马小定理] [最短路] [建图]
细胞分裂 【问题描述】 小A 养了一大坨细胞。 最初小A 只有1 个细胞。每秒,小A 的每个细胞都会分裂成2 个细胞。 已知:现在离“最初”已经过去了x 秒,那么现在的细胞数当然是可以计算的。 小A 想知道的当然不是当前的细胞数。小A 知道他养的细胞的习性:每y 个细胞会聚成一团。经常会有剩下的细胞,那么我们称这些细胞是孤独的。 小A 想知道的就是孤独的细胞个数。 【输入文件】 输原创 2016-11-04 15:52:56 · 829 阅读 · 0 评论 -
NOIP模拟题 2016.10.13 [贪心] [记忆化搜索]
T1: 题意: 给定一个操作序列,问这个数据结构可能是哪些? 模拟即可。记得判空!!因为可能是不知名的神奇数据结构。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<vector>#include<queue>#include<stack>#in原创 2016-10-14 20:09:48 · 578 阅读 · 1 评论 -
NOIP模拟题 2016.11.5 [贪心] [坐标离散化] [循环序列LIS]
T1: 题意:大天使之剑。。有平A、重击、群击三种攻击方式,伤害分别是1、2、1。,要让所有的小兵GG,问最少需要受多少伤害。由于群击在人数大于等于3的时候占优势,那么这种情况优先考虑群击,小于等于2的时候重击,但是如果最小的兵只有1滴HP,就群击。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#in原创 2016-11-05 18:01:23 · 536 阅读 · 0 评论 -
NOIP模拟题 2016.11.7 [DP*3]
A 问题描述: 小A得到了一棵美丽的有根树。这棵树由n个节点以及n - 1条有向边构成,每条边都从父亲节点指向儿子节点,保证除了根节点以外的每个节点都有一个唯一的父亲。树上的节点从1到n标号。该树的一棵子树的定义为某个节点以及从该节点出发能够达到的所有节点的集合,显然这棵树共有n棵子树。小A认为一棵有根树是美丽的当且仅当这棵树内节点的标号构成了一个连续的整数区间。现在小A想知道这棵树上共有多少棵原创 2016-11-07 16:55:36 · 878 阅读 · 0 评论 -
NOIP模拟题 2016.10.4 [Hash] [dp] [复杂状态spfa]
T1: 一开始写的“康托展开”,然而发现这里并不能完美适用,因为很小的时候有重复,那么双hash就过了。 还有一种就直接排序后用set判断不同的个数。。#include<iostream>#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<vector>#include<queue>#i原创 2016-10-04 15:04:56 · 405 阅读 · 0 评论 -
NOIP模拟题 2016.11.15 [LIS] [spfa] [同余最短路] [矩阵快速幂] [容斥原理] [数学]
小L的二叉树 【题目描述】 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利。但是,小L对数据结构的掌握实在十分渣渣。 所以,小L当时卡在了二叉树。 在计算机科学中,二叉树是每个结点最多有两个子结点的有序树。通常子结点被称作“左孩子”和“右孩子”。二叉树被用作二叉搜索树和二叉堆。随后他又和他人讨论起了二叉搜索树。什么是二叉搜索树呢?二叉搜索树首先是一棵二叉树。设key[p]表示结点p上原创 2016-11-15 15:05:52 · 1279 阅读 · 0 评论