![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
寒假集训复习
XH_Source
这个作者很懒,什么都没留下…
展开
-
口算练习题-字符串
#include<iostream>#include<cctype>#include<cstdio>#include<cstring>#include<algorithm>int n,x,y;char ss[200],ans[200],k;int main() { scanf("%d",&n); for(int i = 1 ; i <= n ; i ++) { scanf("%s",ss); if(is.原创 2021-01-28 10:25:26 · 233 阅读 · 0 评论 -
比赛-DP入门
题目描述你在打比赛,这场比赛总共有12个题对于第i个题,你的队伍有a[i]的几率解决她如果解决不了她呢?由于所有人讨论的都很大声所以你有b[i]的概率从左边那个队那里听会这个题的做法有c[i]的概率从右边那个队那里听会这个题的做法请问最终你们队伍解出0-12题的概率分别是多少输入描述:第一行12个数表示a[1] -> a[12]第二行12个数表示b[1] -> b[12]第三行12个数表示c[1] -> c[12]输出描述:输出13行,第i行表示解出i-1题的概率原创 2021-01-27 17:44:57 · 166 阅读 · 0 评论 -
Lake Counting-DFS入门题
Due to recent rains, water has pooled in various places in Farmer John’s field, which is represented by a rectangle of N x M (1 <= N <= 100; 1 <= M <= 100) squares. Each square contains either water (‘W’) or dry land (’.’). Farmer John would li原创 2021-01-27 16:36:42 · 119 阅读 · 1 评论 -
并查集
原题链接代码:#include<iostream>using namespace std;int n,m;int fa[100000];int find(int x){ if(x!=fa[x])fa[x]=find(fa[x]); return fa[x];}int main(){ cin>>n>>m; for(int i=1;i<=n;i++)fa[i]=i; for(int i=1;i<=m;i++) { int x,原创 2021-01-27 11:07:25 · 65 阅读 · 0 评论 -
合并果子—优先队列的运用
题目描述在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过 n-1n−1 次合并之后, 就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。假定每个果子重量都为 11 ,并且已知果子的种类 数和每种果子的数目,你的任务是设计出合并的次序方案,使多多耗费原创 2021-01-26 15:49:43 · 90 阅读 · 0 评论 -
轰炸区最优选取-前缀和
题目描述现在给出一个正方形地图,其边长为n,地图上有的地方是空的,有的地方会有敌人。我们现在有一次轰炸敌人的机会,轰炸敌人的区域是一个k*k的正方形区域,现在需要你解决的问题就是计算最多轰炸的敌人数量是多少。输入描述:本题包含多组数据,每组数据第一行输入两个数n,k。接下来n行,每行n个数字,表示这个点上的敌人数量。数据范围:1<=n<=501<=k<=n每个点上的敌人数量不超过100个(0<=a[i][j]<=100)。输出描述:每组数据输出包含一原创 2021-01-26 14:49:33 · 241 阅读 · 0 评论 -
lower_bound与upper_bound的用法
1.作用lower_bound会找出序列中第一个大于等于x的数upper_bound会找出序列中第一个大于x的数2.用法对于一个数组a,在[1,n]的区间内查找大于等于x的数(假设那个数是y),函数就写成:lower_bound(a + 1, a + 1 + n, x);返回一个指向y的指针返回值int *p = lower_bound; p就是指针*p就是y的值3.限制只能用于有序的序列中,初始为一个上升的有序序列如果要写成下降序列,可以像sort函数一样,自行定义排序规则原创 2021-01-26 10:56:47 · 454 阅读 · 0 评论 -
进击的奶牛-二分用法
题目描述Farmer John建造了一个有N(2<=N<=100,000)个隔间的牛棚,这些隔间分布在一条直线上,坐标是x1,…,xN (0<=xi<=1,000,000,000)。他的C(2<=C<=N)头牛不满于隔间的位置分布,它们为牛棚里其他的牛的存在而愤怒。为了防止牛之间的互相打斗,Farmer John想把这些牛安置在指定的隔间,所有牛中相邻两头的最近距离越大越好。那么,这个最大的最近距离是多少呢?输入格式第1行:两个用空格隔开的数字N和C。第2~N+原创 2021-01-26 09:57:02 · 104 阅读 · 0 评论 -
黑龙江农垦科技职业学院喜迎寒假多校联赛2(快乐ak场)-题解总结
附上链接:黑龙江农垦科技职业学院喜迎寒假多校联赛2(快乐ak场)总体:由于考试的时候是按照通过率的节奏来走的,所以像A,B题,一开始都没有打算开题,最后阶段一直死磕D题的二分,直到结束也没找出错误来。。。。。。最后发现。。。。二分的上界和下届写错了。。。。。。裂开A数组截取思路很简单,用两个指针的方式,左指针先不动,右指针往后移,如果不满足条件,左指再往后移,最后找出最长区间。。多么简单啊。。。再也不跟AC率做题了。。。。据出题人说数据范围很大,建议使用快读。附上AC代码:#include原创 2021-01-24 10:26:03 · 498 阅读 · 1 评论 -
寒假集训周总结2-STL(南昌理工学院ACM集训队)
STL的第一次总结:原创 2021-01-23 08:51:56 · 218 阅读 · 0 评论 -
寒假集训周总结3-单调队列,滑动窗口(南昌理工学院ACM集训队)
题目原链接Fell GoodBill is developing a new mathematical theory for human emotions. His recent investigations are dedicated to studying how good or bad days influent people’s memories about some period of life.A new idea Bill has recently developed assigns a原创 2021-01-19 15:15:48 · 285 阅读 · 0 评论 -
寒假集训周总结2-与& 或| 异或^ >> << 在二进制中的运算规则(南昌理工学院ACM集训队)
一:与运算符(&)运算规则:0&0=0;0&1=0;1&0=0;1&1=1即:两个同时为1,结果为1,否则为0例如:3&5十进制3转为二进制的3:0000 0011十进制5转为二进制的5:0000 0101------------------------结果:0000 0001 ->转为十进制:1即:3&5 = 1二:或运算(|)运算规则:0|0=0;0|1=1;1|0=1;1|1=1;...原创 2021-01-18 16:50:07 · 250 阅读 · 0 评论 -
寒假集训周总结2-同余(南昌理工学院ACM集训队)
首先来同余的定义: 两个整数a、b,若它们除以整数m所得的余数相等,则称a与b对于模m同余或a同余于b模m a≡b (mod m) a≡b(mod m)等价于a与b分别用m去除,余数相同。 a≡b(mod m)...原创 2021-01-18 16:52:48 · 106 阅读 · 0 评论 -
寒假集训周总结1-快速幂(南昌理工学院ACM集训队)
如题:求a的b次方对p取模的值;1<=a,b,p<=10^9我们可以表示b在二进制下有: b= B1*2^0+ B2*2^1+B3*2^2+...+B*2^n所以 a^b=a^(B1*1+ B2*2+B3*4+...+B*2^n) 所以有代码:int power(int a,int b,int p){ int ans=1%p; for(;b;b>>=1) { if(b&1)ans=(lo原创 2021-01-17 10:47:28 · 97 阅读 · 0 评论 -
寒假集训周总结1-斐波那契数列的应用-白学串(南昌理工学院ACM集训队)
斐波那契数列的应用思路:逆向思维,判断不能组成三角形所需要满足的条件,即发现为构造一个斐波那契额数列。注意到题目给的数据范围<10^8;对应数列的第40项往前,故可以直接判断输出YES;再每次分别对梳理进行排序,判断满足三角形的条件即可。#include <bits/stdc++.h>using namespace std;int a[100005];int main(){ int T; scanf("%d",&T); while (T--原创 2021-01-17 10:18:27 · 220 阅读 · 0 评论 -
寒假集训周总结1-栈,堆,全排列(南昌理工学院ACM集训队)
数据结构练习圆桌问题圆桌上围坐着2n个人。其中n个人是好人,另外n个人是坏人。如果从第一个人开始数数,数到第m个人,则立即处死该人;然后从被处死的人之后开始数数,再将数到的第m个人处死……依此方法不断处死围坐在圆桌上的人。试问预先应如何安排这些好人与坏人的座位,能使得在处死n个人之后,圆桌上围坐的剩余的n个人全是好人。Input多组数据,每组数据输入:好人和坏人的人数n(<=32767)、步长m(<=32767);Output对于每一组数据,输出2n个大写字母,‘G’表示好人,‘B原创 2021-01-17 09:09:02 · 367 阅读 · 0 评论