【NOIP】2013提高组 花匠(摆花)】的更多相关文章

[算法]DP||贪心 [题解] (1)动态规划: 令f[i][0..1]为两种条件下前i株花的最大保留数量,状态转移方程: f[i][0]=max(f[j][1]+1) (j=i-1...1)(h[i]>h[j]) f[i][1]=max(f[j][0]+1) (j=i-1...1)(h[i]<h[j]) 初始化:f[i][0]=f[i][1]=1,这样时间复杂度是O(n^2). 由于题目的数据范围中有一句话:所有的h_i随机生成,所有随机数服从某区间内的均匀分布. 所以加个优化,因为f[i]…
积木大赛: 之前没有仔细地想,然后就直接暴力一点(骗点分),去扫每一高度,连到一起的个数,于是2组超时 先把暴力程序贴上来(可以当对拍机) #include<iostream> #include<cstdio> using namespace std; FILE *fin = fopen("block.in","r"); FILE *fout= fopen("block.out","w"); int *…
描述 涵涵有两盒火柴,每盒装有 n 根火柴,每根火柴都有一个高度.现在将每盒中的火柴各自排成一列,同一列火柴的高度互不相同,两列火柴之间的距离定义为:∑i=1n(ai−bi)2∑i=1n(ai−bi)2,其中 aiai 表示第一列火柴中第 i 个火柴的高度,bibi 表示第二列火柴中第 i 个火柴的高度. 每列火柴中相邻两根火柴的位置都可以交换,请你通过交换使得两列火柴之间的距离最小.请问得到这个最小的距离,最少需要交换多少次?如果这个数字太大,请输出这个最小交换次数对 99,999,997 取…
描述 n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 1 号位置,……,依此类推. 游戏规则如下:每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,……,依此类推,第n − m号位置上的小伙伴走到第 0 号位置,第n-m+1 号位置上的小伙伴走到第 1 号位置,……,第 n-1 号位置上的小伙伴顺时针走到第m-1 号位置. 现在…
  积木大赛 描述 春春幼儿园举办了一年一度的“积木大赛”.今年比赛的内容是搭建一座宽度为 n 的大厦,大厦可以看成由 n 块宽度为1的积木组成,第…
1.转圈游戏: 解析部分略,快速幂就可以过 Code: #include<iostream> #include<fstream> using namespace std; ifstream fin("circle.in"); ofstream fout("circle.out"); long long k; long long n; long long result; long long x; long long m; long long _…
题目: A 国有 nn 座城市,编号从 11 到 nn,城市之间有 mm 条双向道路.每一条道路对车辆都有重量限制,简称限重. 现在有 qq 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物. 对于每一组询问,相当于求点x到点y中所有路径中最小边权的最大值,这样就是货车的最大载重. 那么这显然可以用Kruskal重构树来解决,将重构树建成大根堆,就可以求最大边权的最小值:同理,小根堆就是最小边权的最大值. 那么做这道题就是重构树的模板题了.复杂度O(q logn…
啊啊啊啊啊啊今天已经星期三了吗 那么,来一波题解吧 本题地址http://www.luogu.org/problem/show?pid=1006 传纸条 题目描述 小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题.一次素质拓展活动中,班上同学安排做成一个m行n列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了.幸运的是,他们可以通过传纸条来进行交流.纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标(1,1),小轩坐在矩阵的右下角,坐标(m,n).从小渊…
/*====================================================================== [NOIp 1998 提高组]Probelm 2 连接多位数 总时间限制: 10000ms 内存限制: 65536kB 描述 设有n个正整数(n≤20),将它们联接成一排,组成一个最大的多位整数. 例如:n=3时,3个整数13,312,343联接成的最大整数为:34331213 又如:n=4时,4个整数7,13,4,246联接成的最大整数为:74246…
NOIP 2014 提高组 题解 No 1. 生活大爆炸版石头剪刀布 http://www.luogu.org/problem/show?pid=1328 这是道大水题,我都在想怎么会有人错了,没算法,直接模拟,别读错题. ][]={{,,,,}, {,,,,}, {,,,,}, {,,,,}, {,,,,}}; int n,na,nb; ],b[]; int s1,s2; int main() { ios_base::sync_with_stdio(); cin>>n>>na&g…
NOIP 2001 提高组 题解 No 1. 一元三次方程求解 https://vijos.org/p/1116 看见有人认真推导了求解公式,然后猥琐暴力过的同学们在一边偷笑~~~ 数据小 暴力枚举即可 double a,b,c,d; double x; int main() { ios_base::sync_with_stdio(); cin>>a>>b>>c>>d; ;i<=;i+=) { x=i/; if(abs(a*x*x*x+b*x*x+c*…
题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个 城市之间最多只有一条道路直接相连.这 m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路,双向通行的道路在统计条数时也计为 1 条. C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价 格不一定相同.但是,同一种商品在同一个城市的买入价和卖出价始终是相同的. 商人阿龙来到 C 国旅游.当他得知同一种商品在不同城市的价格可能会不同这一信息 之后,便决定在旅游的…
题目描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记对应着某个正整数.并且,对于相邻的两颗珠子,前一颗珠子的尾标记一定等于后一颗珠子的头标记.因为只有这样,通过吸盘(吸盘是Mars人吸收能量的一种器官)的作用,这两颗珠子才能聚合成一颗珠子,同时释放出可以被吸盘吸收的能量.如果前一颗能量珠的头标记为m,尾标记为r,后一颗能量珠的头标记为r,尾标记为n,则聚合后释放的能量为m*r*n(Mars单位),新产生的珠子的头标…
noip 2014 提高组初赛 一. TCP协议属于哪一层协议( ) A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 B TCP(传输控制协议) 若有变量int a; float: x, y,且a = 7,x = 2.5,y = 4.7,则 表达式 x + a % 3 * (int)(x + y) % 2 / 4的值大约是( ) A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000 答案:A x + 后面那一段我算成了是0.25,但其实应该当…
P3952 时间复杂度 标签 NOIp提高组 2017 时空限制 1000ms / 128MB 小明正在学习一种新的编程语言 A++,刚学会循环语句的他激动地写了好多程序并 给出了他自己算出的时间复杂度,可他的编程老师实在不想一个一个检查小明的程序, 于是你的机会来啦!下面请你编写程序来判断小明对他的每个程序给出的时间复杂度是否正确. A++语言的循环结构如下: F i x y 循环体 E 其中F i x y表示新建变量 ii (变量 ii 不可与未被销毁的变量重名)并初始化为 xx , 然后判…
神奇的幻方 题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. 之后,按如下方式从小到大依次填写每个数K(K=2,3,…,N*N): 1.若(K−1)在第一行但不在最后一列,则将K填在最后一行,(K−1)所在列的右一列: 2.若(K−1)在最后一列但不在第一行,则将K填在第一列,(K−1)所在行的上一行: 3.若(K−1)在第一行最后一列,则将K填…
NOIP2000 提高组 题解 No 1. 进制转换 https://www.rqnoj.cn/problem/295 水题 对于n和基数r, 每次用n mod r, 把余数按照逆序排列 注意 mod后余数必须为正 int n,r; ]={','A','B','C','D','E','F','G','H','I','J'}; int main() { ios_base::sync_with_stdio(); while(cin>>n>>r) { cout<<n; str…
[算法]最大生成树+LCA(倍增) [题解]两点间选择一条路径最小值最大的路径,这条路径一定在最大生成树上,因为最大生成树就是从边权最大的边开始加的. 先求原图的最大生成树(森林),重新构图,然后用一个超级根连向每棵树的根. 对于每个询问,在树上跑z=LCA(x,y),答案就是x到z,z到y路上的最小值. 这个最小值可以在LCA(倍增)的过程中顺便维护(ms数组),和祖先(倍增)数组的维护方式类似. ms[e[x].to][0]=e[i].w; ms[x][i]=min(ms[x][i-1],m…
[题意]两列n个火柴,分别有高度ai和bi(同一列高度互不相同),每次可以交换一列中的两个相邻火柴,定义距离为∑(ai-bi)^2,求使距离最小的最少交换次数,n<=10^5. [算法]逆序对 [题解]∑(ai-bi)^2=∑ai^2+∑bi^2-∑ai*bi,其中∑ai^2和∑bi^2为常数,则要使∑ai*bi最大. 对于两个序列的∑ai*bi,根据排序不等式,有逆序和<=乱序和<=正序和.(可以理解为两数离得越近,乘积越大) 将两序列各自离散化后,问题转化为使两序列每位数字相等. 为…
[算法]快速幂运算 [题解]ans=(m*10^k+x)%n,用快速幂计算10^k即可,复杂度为O(log k). #include<cstdio> long long n,m,k,x,ans; long long quickpow(long long x,long long n,long long k) { ; ) { ) ans=(ans*x)%k; n>>=; x=(x*x)%k; } return ans; } int main() { scanf("%lld%l…
[算法]找规律(听说还有写RMQ的www) [题解]ans+=(a[i]-a[i-1])  (i=1...n)(a[i]>a[i-1]) 后面比前面大k,说明要新叠加k个区间来达到所需高度.(看似很复杂的区间覆盖问题,从前往后扫描就很容易得到贪心策略) #include<cstdio> ]; int main() { scanf("%d",&n); ;i<=n;i++) { scanf("%d",&a[i]); ])ans+=…
1008 选数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 已知 n 个整数 x1,x2,…,xn,以及一个整数 k(k<n).从 n 个整数中任选 k 个整数相加,可分别得到一系列的和.例如当 n=4,k=3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为: 3+7+12=22 3+7+19=29 7+12+19=38 3+12+19=34. 现在,要求你计算出和为素…
期望得分:100+10+60=170 实际得分:100+10+35=145 http://www.cogs.pro/cogs/page/page.php?aid=16 T1 跳石头 时间限制:1 s   内存限制:256 MB [题目描述] 这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选 择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N 块岩石(不含起点和终 点的岩石).在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达 终点. 为了提高比赛难度…
单项选择题: D 进制转换题,送分: D 计算机常识题,Python是解释运行的: B 常识题,1984年小平爷爷曰:“娃娃抓起”: A 数据结构常识题,带进去两个数据就可以选出来: D 历年真题没有做改动,直接就是n²级别(等差数列求和): B 画一棵树就可以了,每年必考的表达式题: B 概率与期望.数学做法有点复杂,不大会:感觉一下就是三分之一: A 押中卡塔兰,一眼题: D 中国重男轻女的家庭,了解一下?男女比例不还是差不多1:1: B 如果不会的话,手动模拟一下就可以了: 不定项选择:…
一.单项选择题(共 10  题,每题 2  分,共计 20  分: 每题有且仅有一个正确选项)       1. 下列四个不同进制的数中,与其它三项数值上不相等的是( ). A. (269) 16 B. (617) 10 C. (1151) 8 D. (1001101011) 2   答案:D   解析:进制转换,把所有的选项都转换成相同的进制即可.至于转成几进制,看个人喜好   2. 下列属于解释执行的程序设计语言是( ). A. C B. C++ C. Pascal D. Python  …
我们可以先预处理一下组合数模K的值,然后我们可以发现对于答案ji[n][m],可以发现递推式ji[i][j]=ji[i-1][j]+ji[i][j-1]-ji[i-1][j-1]并对于Cij是否%k等于0,如果是就加一,且当j>i时ji[i][j]=ji[i][i].这样我们就可以O(2000^2)预处理答案,O(1)查询,即可 [NOIP2016]组合数问题 D2 T1 时间限制: 1 Sec  内存限制: 512 MB 题目描述 组合数Cnm表示的是从n个物品中选出m个物品的方案数.举个例子…
前几天写的那个纯属搞笑.(额,好吧,其实这个也不怎么正经) 就先说说day2吧: T1:这个东西应该叫做数论吧. 然而我一看到就照着样例在纸上推了大半天(然而还是没有看出来这东西是个杨辉三角) 然后就想干脆先把n≤25的拿了再说(这个爆不了long long) 然后就硬套用那个组合数公式. 再然后,就只拿了35分. T2:我勒个去. 这个东西应该用堆来优化的吧. 然而并不会堆. 然后就切一个遍历一遍把两端都再加进去(虽然我知道这个时间复杂度估计连20都拿不了). 一个估计是正解的东西: 思考一下…
小弱鸡杨树辰是第一次参加像noip这样的高大上的比赛,于是他非常,非常,非常激动. 当他第二天考完试后,他正在yy自己的分数:day1T1应该是a掉了,T2写了个30分的暴力,T3也是个40分的暴力,这第一天就能拿到170了,他的心情非常开心,非常非常开心:day2T1应该是50分,T2么,随便拿个25好了,至于T3,呵呵呵呵呵呵呵,爆零就好~我带你去看天荒地老~,咳咳: 这时,一位记者瞄上了他; 记者:"你好这位同学,可以谈一下本次noip的经历么?" ysc:"我么?我可…
题目描述 已知有两个字串 A, B 及一组字串变换的规则(至多6个规则): A1 -> B1 A2 -> B2 规则的含义为:在 A$中的子串 A1 可以变换为 B1.A2 可以变换为 B2 -. 例如:A='abcd'B='xyz' 变换规则为: 'abc'->'xu''ud'->'y''y'->'yz' 则此时,A 可以经过一系列的变换变为 B,其变换的过程为: 'abcd'->'xud'->'xy'->'xyz' 共进行了三次变换,使得 A 变换为B.…
T1铺设道路 传送门 题目描述 春春是一名道路工程师,负责铺设一条长度为 $ n $ 的道路. 铺设道路的主要工作是填平下陷的地表.整段道路可以看作是 $ n $ 块首尾相连的区域,一开始,第 ii 块区域下陷的深度为 $ d[i] $ . 春春每天可以选择一段连续区间 $ [L,R] $ ,填充这段区间中的每块区域,让其下陷深度减少 $ 1 $ .在选择区间时,需要保证,区间内的每块区域在填充前下陷深度均不为 $ 0 $ . 春春希望你能帮他设计一种方案,可以在最短的时间内将整段道路的下陷深度…