NOIP2012题解】的更多相关文章

NOIP2012题解 Day1 Vigenère 密码 vigenere 直接模拟就好了,对于那张表找找规律就很短了. #include<iostream> #include<cstdio> #include<cstring> using namespace std; #define MAX 1010 char k[MAX],c[MAX]; char get(char a,char b){return (((b-97)-(a-97)+26)%26)+97;} int m…
Vigenère 密码 这个名字实在打不来... 题解:模拟 #include <cstdio> #include <cstring> +; bool cj; int cl, kl; char c[MAXL], k[MAXL], an; int main(){ gets(k), gets(c); kl = strlen(k), cl = strlen(c); ; i<kl; i++) ) k[i] += ; ; i<cl; i++){ ) c[i] += , cj =…
场上预计得分:100+90+70+100+100+3060=490520(省一分数线245) 题解: D1T1 Vigenère 密码 题面 水题送温暖~~ #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; int l1,l2,p; ],t[]; bool ok; int work(int t1,int t2){ ;i<;…
NOIP2012 疫情控制 题解(LuoguP1084) 不难发现,如果一个点向上移动一定能控制更多的点,所以可以二分时间,判断是否可行. 但根节点不能不能控制,存在以当前时间可以走到根节点的点,可使向下走到深度为2的节点控制 其他点,此时又可以进行另一个贪心,优先选择走到根节点还能再走的时间小的去控制深度一到二之间边权较小的. 某大佬有更加详尽的讲解,参见这里 #include<iostream> #include<cstdio> #include<cstring>…
[NOIP2012提高&洛谷P1083]借教室 Description 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样.面对海量租借教室的信息,我们自然希望编程解决这个问题. 我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借.共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj天租借教室(包括第sj天和第tj天),每天需要…
题目大意: 给出n个排成一行的城市,每个城市有一个不同的海拔.定义两个城市间的距离等于他们的高度差的绝对值,且绝对值相等的时候海拔低的距离近.有两个人轮流开车,从左往右走.A每次都选最近的,B每次都选次近的.旅行时有一个总路程x,如果两个人的总路程>x 或 有一个人无法按照自己的原则选择目的城市,旅行就终止. 有两个问: 1.给出x0,求从哪一个城市出发,使得A走的路程/B走的路程最小.如果B走的路程=0,则比值视为无穷大.如果有多个城市满足要求,则输出海拔最高的那个城市. 2.给出x和s(出发…
题目大意: n个人排成一排,排头固定,其他可以变.每一个人左右手都有一个整数,一个人的分数为他所有前面的人左手上的数的乘积除以他右手上的数(向下取整),求在整列中最大分数的最小值. 思路: 首先,一切序列都可以通过若干次相邻的人的交换实现转换,而相邻的人的交换只会影响这两个人的分数. 假设相邻的两人为i,i+1,则令a[i]*b[i]<=a[i+1]*b[i+1],设i之前的和为S,则交换前的ans1=max{S/b[i],S*a[i]/b[i+1]},交换后ans2=max{S/b[i+1],…
题目大意: 有一个n个数的数列,m个操作,第i个操作使[li,ri]区间建di,问第几个操作使数列中出现负数. 思路: 暴力显然过不了,那么就可以优化了,不难想到线段树,显然需要良好的姿势,那么就差分. a[i]表示第i天比第i-1天多了多少房间,于是a的前缀和即为该天的房间数量.而a的维护显然为a[li]+=di,a[ri+1]-=di. 因为求最前的操作,于是我们可以二分答案.但如此常数比较大,又有冗余,可以来个栈一样的东西节省时间. 但是有大神想到了O(n+m)的算法.假设m个指令都可满足…
什么是GCD? GCD是最大公约数的简称(当然理解为我们伟大的党也未尝不可).在开头,我们先下几个定义: ①a|b表示a能整除b(a是b的约数) ②a mod b表示a-[a/b]b([a/b]在Pascal中相当于a div b) ③gcd(a,b)表示a和b的最大公约数 ④a和b的线性组合表示ax+by(x,y为整数).我们有:若d|a且d|b,则d|ax+by(这很重要!) 线性组合与GCD 现在我们证明一个重要的定理:gcd(a,b)是a和b的最小的正线性组合. 证明: 设gcd(a,b…
不贴代码的原因是我的代码在初中机房.忘记带过来了. DAY 1 T1随便搞,但是字符串相关的题我经常犯蠢 T2 一个结论题,OAO但是需要高精度写. 具体就是按左手的数除右手的数(还是怎么的来着)排个序 算过去就行了.证明的话QAQ不会,但是曾经想通过 T3 开车旅行 是个倍增 没写[不会] OAO我好咸啊 DAY2 T1 用拓展欧几里得解,我数学不好直接背板子了.抱歉不能给出详细的讲解. T2 借教室 这题我写过好几次线段树,没过.始终被TLE 正确做法是二分到哪一个请求可以满足,每次通过重新…