-----------NOIP专题-----------
MaxMercer
成都七中学生,OIer
展开
-
[BZOJ]3727 Final Zadanie 公式推导
3727: PA2014 Final ZadanieTime Limit: 10 Sec Memory Limit: 128 MBSubmit: 319 Solved: 138[Submit][Status][Discuss]Description吉丽YY了一道神题,题面是这样的:“一棵n个点的树,每条边长度为1,第i个结点居住着a[i]个人。假设在i结点举行会议,原创 2017-09-25 12:19:29 · 365 阅读 · 0 评论 -
NOIP模拟赛 斐波那契树 + 二分 + 并查集
FIbonaccim <= 3e5. 询问的数字是10^12级别的.题解首先很明显肯定要log的算法. 并且由于斐波那契的性质, 树高一定是log级别的. 那么对于两个点我们只要暴力跳fa即可过. 问题就在于怎么快速求father. 比如编号i的他的fa是谁. 我们想这个树每次生成f[j]个(f是斐波那契数列). 那么i一定是某一批斐波那契数列. 那么我们知道这一批之前一共生成了多少个的话,原创 2017-10-23 22:21:58 · 398 阅读 · 0 评论 -
NOIP模拟赛 数论 积性函数 + BSGS + Lucas模进制数位Dp
Problem 1. facsum题解我们发现后面那个sigma里都是积性函数, 积性函数相乘也是积性函数. 我们可以线性筛筛除后面那个就可以. 考虑后面那个和式设为积性函数g, p为质数的话, g(p) = 2 - p. g(p ^ 2) = 3 - 2p. g(p ^ 3) = 4 - 3p, 以此类推. 然后用线性筛来筛, 若i 与 pr[j]互质的话, g(i * p[j]) = g[i]原创 2017-10-20 18:43:17 · 630 阅读 · 0 评论 -
NOIP模拟赛 鸽巢原理 + 众数 + Trie
Set Set(set.cpp/c/pas, 1s, 64MB) 题目描述 你手上有N个非负整数, 你需要在这些数中找出一个非空子集, 使得它的元素之和能被N整除. 如果有多组合法方案, 输出任意一组即可. 注意: 请使用高效的输入输出方式避免输入输出耗时过大. 输入格式 第一行一个整数N, 代表数字个数. 接下来一行N个数, 代表你手上的数. 输出格式原创 2017-11-06 22:04:38 · 623 阅读 · 0 评论 -
NOIP2009 解题报告
潜伏者题目描述R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动。历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则:1. S 国军方内部欲发送的原信息经过加密后在网络上发送,原信息的内容与加密后所得的内容均由大写字母‘A’-‘Z’构成(无空格等其他字符)。2. S 国对于每个字母规定了对应的“密字”。加密的过程就是将原信息中的所有字母替换为其对原创 2017-11-06 21:57:05 · 1190 阅读 · 0 评论 -
10.5 NOIP模拟赛 割点+贪心+最小点覆盖
今天的题很简单, 估分200+但是每个程序都写挂了2个字符左右, 居然爆零…估分这么高简直让我无地自容…退役吧退役吧. 好在写的是正确的考完试改一下就300了. 有的时候从0到300只需要很短的时间…Board数据是300 * 300的. 首先有一个很显然的结论, 答案不是1就是2. 因为你可以在角落上抠两个土地出来, 这样角落上那个土地就与其他不连通了. 那么我们就只需要考虑 有没有只需要挖一个原创 2017-10-05 16:40:29 · 362 阅读 · 0 评论 -
NOIP模拟赛 数论专题 扩展欧几里得 + 组合数 + 容斥原理
Problem 1. payInput file: pay.in Output file: pay.out Time limit: 1 second Memory limit: 256 MB Mr.Hu 开了个饭店,来了两位客人:Alice 和Bob,他们吃完饭要结账时,发现他们需要支付c 元钱,但 是Alice 只有面值为a 的钱,Bob 只有面值为b 的钱(他们每个人的钱的和都大于c,原创 2017-10-19 21:30:24 · 732 阅读 · 0 评论 -
10.11 NOIP模拟赛 DP + 线段树 + DP + 单调队列
Gray内存限制 256MB 时间限制 1S 程序文件名 gray.pas/ gray.c/ gray.cpp 输入文件 gray.in 输出文件 gray.out Gnaw刚刚学习在数字逻辑中学到了格雷码,它的定义是这样的,对于二进制数A,它对应的格雷码为G= A xor(A>>1),格雷码有个很有趣的性质是相邻二进制数对应的格雷码只有一位不同。 现在以”01?”的方式给出一个长为的二进制原创 2017-10-11 08:29:13 · 499 阅读 · 0 评论 -
10.3 NOIP模拟赛 DP + 最小生成树 + 容斥
Mine 考虑dp[i][0/1][0/1], 表示第i位当前有雷(1), 无雷(0), 以及下一位有雷或者无雷. 转移见代码注释.#include<stdio.h>#include<cstring>using namespace std;const int mod = 1e9 + 7;const int maxn = 1000005;char s[maxn];int f[maxn][原创 2017-10-03 22:04:53 · 447 阅读 · 0 评论 -
10.9 NOIP[真] 背包 + 状压 + 单调栈 + 最短路
Birthday内存限制 256MB 时间限制 1S 程序文件名 birthday.pas/birthday.c/birthday.cpp 输入文件 birthday.in 输出文件 birthday.out 前些天是Miss D生日,gnaw去逛街给Miss D买礼物。商店有这样的福利:第i件商品价值为Wi,买k个(k>0),可以送Ai × k + Bi颗Miss D喜欢的糖 最大预算为M原创 2017-10-09 14:46:09 · 360 阅读 · 0 评论 -
NOIP模拟 10.17 单调队列 + 树形Dp + 区间Dp
烟火 (fireworks.cpp/c/pas) 【题目描述】 城镇的主干道上有n个区域,从左到右编号为1到n,每个区域之间相距1个单位距离。在节日中要放m个烟火,第i个烟火会在ti时刻的ai区域放。如果在ti时刻你所处区域为x,那么你可以获得bi - | ai - x |的快乐值。在每个单位时间你可以移动不超过d个单位距离,初始的位置是任意的,求通过移动能获得快乐值和的最大值。 【输入格式】原创 2017-10-17 21:09:45 · 400 阅读 · 0 评论 -
10.16 NOIP模拟赛 期望斜率优化 + 模拟 + 状压
游戏 (game.cpp/c/pas) 【题目描述】 有n 个数,编号从1 到n。现在把n 个数分成k 组编号为1 到k,使得每组内的数必须 连续,组与组之间不能相交并且每个数必须属于一个组。 游戏进行的过程如下: 1. 如果n 个数都已经获得了,游戏结束。否则,找到编号最小没有全部获得的组X。 2. 游戏系统会给一个空的盒子,对于组X 中已经获得的数i,将ti 张写着数i 的卡片放原创 2017-10-16 21:13:08 · 430 阅读 · 0 评论