自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 练习赛02

传送门A Zoning Restrictions Again题解:有限制的点跟题中统一要求的取min,没有限制的点直接按照统一限制;代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1000010;int a[N];void Test(){ int n,h,m; cin>>n>>h>>m; for(int i=1;i<=

2022-05-12 23:36:44 227

原创 cf练习01

C - Arena题解:比赛可以进行100^500次,换句话说就是 第 i 名只要可以打赢一个人,就可以一直跟他打,所以结论也很明显:有比 a[ i ] 小的数,第i个人就能赢代码:#include<bits/stdc++.h>using namespace std;const int N=1000010;int a[N];void Test(){ int n; cin>>n; int res=0x3f3f3f3f; for(int i=1;i<=

2022-05-11 00:24:05 195

原创 专题训练——搜索专题

传送门这套题我用的memset比较多,是因为这套题的数据量都比较小,想着省事 ,在实际做题中,如果时间限制短,或者多样例时,强烈不建议用memset,memset时间消耗太大。A、Red and Black题解:搜索模板题,dfs和bfs都可以,直接爆搜,能搜到 ’ . ’ 答案就加一代码:#include<bits/stdc++.h>using namespace std;int ans=0;int dx[4]={0,0,1,-1};int dy[4]={1,-1,0,

2022-05-07 16:55:34 232

原创 21训练 dp专题题解

传送门A:观察图形可发现,第i格是由第i - 1格和第i - 2 格转移过来,即 f[i]=f[i-1]+f[i-2];代码:#include<iostream>using namespace std;typedef long long ll;ll f[100];int main() { ios::sync_with_stdio(false); cin.tie(0); f[1]=1,f[2]=1; for(int i=3;i<=50;i++) f[i]=f[i-1

2022-05-04 17:04:28 325

原创 练习赛3题解

A 随机序列题解: 极差就是最大值减去最小值,方差就按提上说的模拟代码:#include<bits/stdc++.h>using namespace std;const int N=1000010;int a[N];void Test(){ int n; cin>>n; int mx=0,mi=1e8; for(int i=1;i<=n;i++) cin>>a[i]; double sum=0; for(int i=1;i&

2022-03-16 20:10:54 480

原创 zzuli2022新生赛题解

2905 另一个爱与希望的故事题意: 有n个台阶,其中有k个是坏的,坏的不能到达,每次只能爬一阶或者两阶,问爬到第n阶台阶有多少种方案,答案对1e9+7取模题解: 经典斐波那契,当遇到坏的台阶时,坏的台阶方案数为0即可代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=1000010,mod=1e9+7;ll a[N];ll b[N];int main() { io

2022-03-15 22:56:01 2297

原创 STL1题解

传送门A 老子的全排列呢题解:可以用dfs爆搜,也可以用stl中的next_permutation函数代码:#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(false); vector<int>v; for(int i=1;i<=8;i++) v.push_back(i); do{ for(int i=0;

2022-03-15 00:03:09 1055

原创 练习赛10(A、B、C、D)

传送门A - Last Card签到题,可以列出来公式 因为数据范围不大 也可以直接循环#include<bits/stdc++.h>using namespace std;int main(){ int n,k,x; cin>>n>>k>>x; x=(x+k-1)%n; if(x==0) x=n; cout<<x;} B - KEYENCE building直接预处理出来所有可能的面积 在进行判断#inclu

2022-01-21 13:37:08 409

原创 AtCoder Beginner Contest 230(A、B、C、D、E)

传送门A - AtCoder Quiz 3**题解:**使用printf输出即可#include<bits/stdc++.h> using namespace std;int main(){ int n; cin>>n; if(n>41) n++; printf("AGC%03d",n);}B - Triple Metre题意:判断序列“oxxoxxoxx……”中是否包含字符串S;题解:可以构造一个字符串T,T就是由“oxxoxxoxx……”构成

2022-01-15 18:57:00 1411

原创 Codeforces Round #764 (Div. 3)(A、B、C、D、G)

A. Plus One on the Subse求出最大值与最小值只差即可ACcodr#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=2000010,mod=998244353;void Test(){ int n; int mi=0x3f3f3f3f,ma=0; cin>>n; for(int i=1;i<=n;i++){ int x;

2022-01-11 20:19:31 289

原创 二分插入排序

二分插入排序,顾名思义,利用二分来完成排序思路:假设前面所有元素已经排好顺序,本次要插入的元素大小为tmp,在前面已经排好顺序的所有元素中 利用二分找到大于tmp的第一个元素 假设位置为 k ,将 k 后面的所有元素向后移动一位,再将b[k]直接赋值为tmp,这些操作进行n次即可图示:利用二分找到大于tmp的第一个元素代码实现:#include<bits/stdc++.h>using namespace std;const int N=1000010;int a[N],

2021-12-12 21:23:34 1907

原创 hacz练习赛1

A题意:给定一个数n,求1到n所有的数连成一个圈,相邻数互质最多,输出对数。题解:因为i和i-1肯定互质,故将i与i-1 连在一起,此时互质对数就是n,即:输出n即可。代码 略。B略C题意:判断m是否能被 n 整除。题解:若m%n=0 输出YES,否则输出NO。代码 略。D题意:给出10个数表示苹果的高度,再给出陶陶的身高,判断出它能够到几个苹果。题解:判断有几个苹果高度小于陶陶身高+30(板凳的高度)。代码:#include<bits/stdc++.h>usin

2021-11-29 00:42:38 436

原创 小白月赛26:E牛牛走迷宫(BFS)

题目链接小白月赛26 牛牛走迷宫题目大意一个n行,m列的只包含0和1矩阵,0表示可以走,1表示不能走。,从{1,1}开始移动,一次移动一格,可以向上下左右移动,条路径步数一样,他会选择走字典序最小的那条。。输出要求:如果牛牛不能走到终点,请输出"-1",如果可以走到终点,第一行请输出牛牛的最小步数k。接下来一行,输出一个长度为k的字符串(仅包含’D’、‘L’、‘R’、‘U’)表示牛牛的路径。(D表示向下,L表示向左,R表示向右,U表示向上)分析:要遍历所有的路径,可以用BFS来进行搜索,向四个方

2021-06-18 00:46:38 446 1

原创 矩阵快速幂简介

引入思考一个问题:求斐波那契数列的第10^18对1e9+7取余的结果。首先,如果按暴力递推的方法必定超时,那么现在就要引入一个新的算法了:矩阵快速幂,时间复杂度为log(n),这样就可以轻松的解决这个问题了。算法前提这里就不多介绍这两个算法的原理了,可课下自行查找直接上代码:1、整数快速幂。快速求出a的k次方然后对p取余的结果typedef long long ll;int pmi(ll a,ll k,ll p){ ll res=1; while(k){ if(k&

2021-06-08 19:39:17 376

原创 树状数组简单用法

**树状数组概念及用法**概念给出一个长度为n的数组,完成一下两种操作:1、在第i个位置加上k。2、查询区间[i,j]内每个数的和。朴素算法1、单点修改,O(1)。2、区间查询,O(n)。树状数组1、单点修改,O(logn)。2、区间查询,O(logn)。这里就可以发现:如果题上的n特别大的话朴素算法时间复杂度太高,然而用树状数组就可以用Olog(n)的时间来完成这些操作。所以说,树状数组最大的好处就是快速的改变某一个点的值,快速的查询某...

2021-05-30 20:34:02 273 1

原创 整数二分常用模板(入门)

二分可以分为整数二分和浮点数二分,但是整数二分常常涉及到边界问题,所以有时候用的时候容易乱。今天就讲一下整数二分的一些常用模板。常用二分的前提是所求数组的单调性(即升序与降序),这里都以升序为例,整数二分其实可以分为两大类:1、给定一个升序数组a,与一个x,求数组a中第一个大于等于x的数;(如果求数组a中第一个大于x的数,把if(x<=a[mid])改为if(x<a[mid])即可 )给定一个数组,在a数组中寻找第一个大于等于x=8的下标,结束时l就为查找的下标#include <

2021-03-23 16:32:09 638

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除