
noip模拟
C202044zxy
这个作者很懒,什么都没留下…
展开
-
2019.09.28 多校联合训练(普及组)
采矿 一、题目 已知,矿场是一个平面直角坐标系;小周猪猪位于坐标(0, 0),即平面直角坐标系的原点。 已知有n个矿石,每一个矿石都一个坐标(x, y),其中x和y都是任意不为零的整数。当然,小周猪猪都能够准确的知道这些矿石的具体位置;它会依次按照矿石的编号,对这些矿石发射激光。 发射激光的规则是: 可以在所处的坐标原点上沿着某一个方向发射激光,这条激光上的每一个矿石都能被小周猪猪所有,且这些矿石...原创 2019-10-05 17:23:12 · 413 阅读 · 1 评论 -
2019.09.21 多校联合训练(普及组)
不要以为普及组的题就很和谐。。 勇者斗恶龙 一、题目 点此看题 二、解法 0x01 错解及思考 首先先讲一个错解,虽然它是错的,但是可以启发我们。 发现每次攻击完后伤害都是ai−biai-biai−bi(除了最后一击),我们就可以把ai−biai-biai−bi排序,然后贪心取答案。 这个解法有一个局限,就是最后一击是与众不同的,看下面一组反例: 2 1050 50 0 1000 900 如果按上...原创 2019-09-27 14:00:59 · 294 阅读 · 0 评论 -
2019.09.21 多校联合训练(提高组)
东方记者 一、题目 点此看题 二、解法 考虑dpdpdp,定义dp[i][j]dp[i][j]dp[i][j]为到了iii个点收集jjj起新闻所需要的最小路程,可以把整个转移理解为求一个最短路,直接跑dijkstradijkstradijkstra即可,时间复杂度O(n2logn)O(n^{2}logn)O(n2logn)。 #include <cstdio> #include <...原创 2019-09-24 19:52:13 · 374 阅读 · 1 评论 -
2019.09.15 多校联合训练(提高组)
能量获取 一、题目 电磁看题 二、解法 0x01 树形dp 我觉得大家应该都想的出来,直接跑背包,O(nm2)O(nm^{2})O(nm2) 0x02 贪心 排序后选消耗最小的点,把它到根的路径全部减去他的消耗,贡献答案,用树链剖分维护可以做到O(nlogn)O(nlogn)O(nlogn)。 #include <cstdio> #include <iostream> us...原创 2019-09-15 14:31:58 · 195 阅读 · 0 评论 -
2019.09.07 多校联合训练(提高组)
感觉这几道题还是挺好的,写个套题博客八。 四个质数的和 一、 题目 题意 给定了一个正整数 N。有多少种方法将 N 分解成为四个质数 a,b,c,d 的和。 数据范围 T≤10,n≤100000T\leq 10,n\leq 100000T≤10,n≤100000 二、解法 考试是无脑了一发记忆化搜索,结果T成70分。 PPL orz,直接想到正解。 我们考虑把四个质数拆成两个部分,s[i]s[i]...原创 2019-09-14 22:45:16 · 239 阅读 · 0 评论 -
NOIP模拟赛(2019.8.16)
旅馆 一、题目 点此看题 二、解法 线段树裸题,不用多讲,上代码吧。 #include <cstdio> const int MAXN = 50005; int read() { int x=0,flag=1;char c; while((c=getchar())<'0' || c>'9') if(c=='-') flag=-1; while(c>='0' &a...原创 2019-08-16 19:37:57 · 330 阅读 · 0 评论 -
NOIP模拟赛(2019.08.15)
不相信这题才普及+,有人恶意评分吧............... 一、题目 点此看题 题目: 给定一个0(‘L’)1(‘R’)矩阵,每次对某一行或列异或,问能否达到只有一个元素与其他不同,如果能,输出行列最小的坐标(优先行),如果不能,输出−1-1−1。 数据范围: n≤1000n\leq 1000n≤1000 二、解法 ...原创 2019-08-16 12:07:54 · 221 阅读 · 0 评论 -
Sun Is Me Noip 模拟赛
#include <cstdio> #include <iostream> #include <map> using namespace std; map<string,bool> mp; char c,w[10005]; void prepare() { mp["welcome"]=1; mp["to"]=1; ...原创 2019-07-31 13:16:37 · 190 阅读 · 0 评论 -
GZM1 模拟赛 Day25
W 一、题目及数据范围 点此看题 二、解法 一看就是dpdpdp,考试时候想A,结果写炸了。 我们定义dp[i]dp[i]dp[i]为处理到第i位的最小花费(处理指把原序列变成全0序列,我们从后往前处理),则有: dp[i]=min(dp[j]+sum1(j,i],dp[j]+sum0(j,i]+2)dp[i]=min(dp[j]+sum1(j,i],dp[j]+sum0(j,i]+2)dp[i]...原创 2019-07-31 12:03:46 · 236 阅读 · 0 评论 -
GZM2 模拟赛 Day26
wait 一、题目及数据范围 不多说,点此看题。 二、解法 期我打模拟退火都骗不了分,期望的题都很毒瘤。 我们需要这样转化问题: 假设涂色时在涂完某一行或某一列是停止,则可以设{ai}\{ai\}{ai} (1≤i≤n)(1\le i\le n)(1≤i≤n) 为第i行全部涂色的时间,{bi}\{bi\}{bi} (1≤i≤m)(1\le i \le m)(1≤i≤m),为第i列全部涂色的时间。 ...原创 2019-07-30 18:24:05 · 216 阅读 · 1 评论 -
自信UpUp模拟赛 Day27
自信(自闭)UpUp模拟赛 Day27 水池 一、题目及数据范围 题目描述 又到了一年一度的的雨季,幻想乡原来也会下雨。 看着本已经干涸的池塘,灵梦想出了一个高(zhi)深(zhang)的问题:随着雨水落下,池塘中高低不平的地方会积水。给出一个n∗m大小的池塘的每个地方的高度,求雨水落下后每个地方的剩余的雨水的高度。 输入 第一行三个数分别为n, m, L接下来n行m列共n∗m个范围在[0, L]...原创 2019-07-28 22:00:36 · 300 阅读 · 0 评论 -
NOIP2017模拟题 Day18
#include <cstdio> int read() { int x=0,flag=1;char c; while((c=getchar())<'0' || c>'9') if(c=='-') flag=-1; while(c>='0' && c<='9') x=(x<<3)+(x<<1)+c-'0',c=get...原创 2019-07-18 21:23:51 · 262 阅读 · 0 评论