首页 > TAG信息列表 > NOIp2015
2022.9.13 模拟赛+P5524 [Ynoi2008] NOIP2015 充满了希望
模拟赛记录:link 早上遗憾睡着,根本没有想题。P2680 [NOIP2015 提高组] 运输计划 【二分+LCA+树上差分】
题目描述 公元 \(2044\) 年,人类进入了宇宙纪元。 L 国有 \(n\) 个星球,还有 \(n-1\) 条双向航道,每条航道建立在两个星球之间,这 \(n-1\) 条航道连通了 L 国的所有星球。 小 P 掌管一家物流公司, 该公司有很多个运输计划,每个运输计划形如:有一艘物流飞船需要从 \(u_i\) 号星球沿最快的[NOIP2015 普及组] 推销员题解
题型考察 此题的数据范围提示时间复杂度 为 \(\text{O(n)}\) 或 \(\text{O(nlogn)}\) 考虑贪心。 思路 很明显对于每个 \(X\),都要 \(\text{O(1)}\) 或 \(\text{O(logn)}\) 进行回答,有两种思路,预处理和问题递进,这里使用问题递进。 所谓问题递进就是在 \(X\) 从小到大经过较少的调整P2669 [NOIP2015 普及组] 金币(平台移动)
国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当连续 nn 天每天收到 nn 枚金币后,骑士会在P2678 [NOIP2015 提高组] 跳石头[普及/提高-]
https://www.luogu.com.cn/problem/P2678涉及知识点:贪心,二分黄色题 思路: 从起点出发,先选定一段距离mid,若前面的石头B与你所站着的石头A的距离小于mid,就把B搬掉,记录一下;如果不,就把B留下,再跳到石头B上。照这个步骤多次循环后,如果搬掉的石头多了,就把距离mid定小点;如果少了,就把mP2669 [NOIP2015 普及组] 金币
题面:金币 思路: 用两个变量分别来记录每天分的金币数和总天数 #include<bits/stdc++.h> using namespace std; long long i,ans,cnt,n; bool bj; int main() { cin>>n; while(++i)//i:每天领的金币数 { for(int j=1;j<=i;j++)//每天领 i 枚金币,共领 i 天 { ans+=i; cnNOIP2015 普及组 洛谷P2671 求和 (数学)
一道数学题...... 采用分组的思想,我们要统计答案的数对满足两个条件:同奇偶,同颜色。所以可以按这两个要求分组。 然后就是分组处理了,对于每组(有k个数),这里面的任意两对数都是满足条件的,可推出下面的公式: x[k]*(y[k]*(k-2)+y[1]+y[2]+......+y[k]) x[]是数值,y[]是下标。 公式推导还P2670 [NOIP2015 普及组] 扫雷游戏
题目链接 https://www.luogu.com.cn/problem/P2670 题目思路 模拟当前点的八个方向,扫描是否有雷 题目代码 #include <iostream> #include <algorithm> using namespace std; const int N = 110; char g[N][N]; int n, m; int main() { cin >> n >> m; for(int i = 0;[NOIP2015 提高组] 运输计划
给出一颗点数为 \(n\) 的无根树,边有边权。 接着给出 \(m\) 条简单路径,一条简单路径 \(p\) 的花费 \(\sigma_p\) 被定义为其经过的所有边的边权之和。 你可以选择任意一条边,将其边权置为 \(0\)。 最小化这些路径花费的最大值,输出这个最小化的最大值。 设路径最大值为 \(w\),则 \(w\)P2678 [NOIP2015 提高组] 跳石头
#include<bits/stdc++.h> using namespace std; int l,n,m,a[100010];//与起点的距离 bool check(int d) { int last=0,cnt=0; for(int i=1;i<=n;i++) { if(a[i]-last<d)cnt++; else last=a[i]; } if(l-last<d)cnt++; return cnt<=m; } int main() { sP2615 [NOIP2015 提高组] 神奇的幻方
// Problem: P2615 [NOIP2015 提高组] 神奇的幻方 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P2615 // Memory Limit: 125 MB // Time Limit: 1000 ms // User: Pannnn #include <bits/stdc++.h> using namespace std; int main() { int n; cin &P2615 [NOIP2015 提高组] 神奇的幻方
P2615 [NOIP2015 提高组] 神奇的幻方 题目描述 幻方是一种很神奇的 N∗N 矩阵:它由数字1,2,3,⋯⋯,N×N 构成,且每行、每列及两条对角线上的数字之和都相同。 当 N 为奇数时,我们可以通过下方法构建一个幻方: 首先将 1 写在第一行的中间。 之后,按如下方式从小到大依次填写每个数KP2670 [NOIP2015 普及组] 扫雷游戏
// Problem: P2670 [NOIP2015 普及组] 扫雷游戏 // Contest: Luogu // URL: https://www.luogu.com.cn/problem/P2670 // Memory Limit: 125 MB // Time Limit: 1000 ms // User: Pannnn #include <bits/stdc++.h> using namespace std; int main() { int n, m; cinP2671 [NOIP2015 普及组] 求和
题目链接:P2671 [NOIP2015 普及组] 求和https://www.luogu.com.cn/problem/P2671 题目分析(结合题解整理出我能看懂的) 20分做法 看完这题,第一想法当然是无脑暴力啦...直接枚举x,y,z,看是否满足条件即可。算法复杂度为O(N^3)O(N3)。[代码就算了] 这样就可得20分了。当然,如果你想[模板]有向图最小环 & 洛谷P2661 [NOIP2015 提高组] 信息传递
算法要素:并查集的奇妙应用 思路: 并查集求有向图最小环 tips:这道题完全可以拓展成带边权的有向图最小环,原题相当于边权为1. Code #include<bits/stdc++.h> using namespace std; const int maxn=2e5+50; int fa[maxn],dis[maxn]; int n,t[maxn]; int minn=1e9+7; int Find(int x)洛谷 P2671 [NOIP2015 普及组] 求和
Description 一条狭长的纸带被均匀划分出了 n n n个格子,格子编号从 1 1 1到[NOIP2015 普及组] 推销员
因为pj组的题目是在太nb把我虐哭了所以来写一写题解 https://www.luogu.com.cn/problem/P2672 正常人的思路是枚举在哪转, 枚举了之后就选最大的准没错。 然后60ptsTLE飞起 贪心思路:我感觉正常的没什么人可以想到把。 首先可以证明, 如果按A值排序, 选最大的几个, 这样子贪心一定是错NOIP2015提高组Day2T2(子串)题解
文章目录 题目信息解题思路法1:三维dp(no优化,70pts&MLE)法2:法1+滚动数组优化(80pts,TLE)法3:法2+前缀和优化(AC!!) 代码实现法1法2法3 题目信息 题目传送门 解题思路 法1:三维dp(no优化,70pts&MLE) 状态定义 定义dpkij为从a的前i个字符中取k个互不重叠的非空子串, 填充b的方案数。边界[NOIp2015] 信息传递 题解
补题计划开始。 题目描述 求一个有向图的最小环。该图所有点的出度均为 \(1\)。 数据范围:\(1\le n\le 2 \times 10^5\) 。 误区 被样例误导,以为该图一定是连通的,于是认为整个图只有一个环,然后利用该性质进行解题。 错误代码很简单,就是找到唯一的环然后计算长度,容易误以为是正解[NOIP2015提高组]斗地主(贪心+搜索)
15 年的 NOIP 提高组试题,被搬到今天校模拟赛,只糊了 20 分,结果人均 50 分贪心…… 这张图片可以作为题目描述: 并不是跟别人斗地主,而是要求尽快出完牌,输出步数。 \(n \le 20\),多组数据。 对于 \(n \le 5\) 的那些测试点,当然可以手工模拟。更进一步,根据打牌的经验(显然我就没有),不难产NOIp2015 提高组 解题报告
NOIp2015 提高组 D1T1 神奇的幻方 \(\large\mathcal{Solution}\) 大水题,依据题意模拟即可。 得分:\(100 / 100.\) \(\large\mathcal{Code}\) #include <bits/stdc++.h> #define reg register using namespace std; const int N = 40; int n, lx, ly; int a[N][N]; int main() {P6327 区间加区间sin和/[Ynoi2012]NOIP2015洋溢着希望
\(\sin(\alpha+\beta)=\sin\alpha\cos\beta+\sin\beta\cos\alpha\) \(\cos(\alpha+\beta)=\cos\alpha\cos\beta-\sin\alpha\sin\beta\) 先了解这个。 然后发现维护 \(\sin\alpha\) 需要顺便维护 \(\cos\)。 区间加的时候直接加。下传就按和角下传。 果然线段树题越写越上瘾。 lxl「题解」NOIP2015 提高组 运输计划
Problem Link 题意: 给定一棵带边权的树,以及若干条树上的路径。我们可以使一条树边的边权变为 \(0\) ,求变化后最长路径的最小值。 Solution 将题目简化过后,从 “求最长路径的最小值” 可以大概猜到这道题需要用到二分。这道题中的完成时间很明显具有单调性: 若 \(t\) 恰好满足题意,P2671 [NOIP2015 普及组] 求和
P2671 [NOIP2015 普及组] 求和 前缀和 由题意可知 $y-x=z-y$ $z+x=2y$ 故x,z的下标只可能同为奇数或同为偶数 接下来的操作默认奇偶位分开处理 $(x+z)*(number_x+number_z)=x*number_x+z*number_z+x*number_z+z*number_x$ 答案$=\sum i$ 对于一种颜色,我们用$s,x,p,q$数组分别储存 $Java P2669 [NOIP2015 普及组] 金币 洛谷入门题
P2669 [NOIP2015 普及组] 金币 题目描述 国王将金币作为工资,发放给忠诚的骑士。第一天,骑士收到一枚金币;之后两天(第二天和第三天),每天收到两枚金币;之后三天(第四、五、六天),每天收到三枚金币;之后四天(第七、八、九、十天),每天收到四枚金币……;这种工资发放模式会一直这样延续下去:当