自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 brz的杯子 - 牛客练习赛72

brz的杯子题目题解y|x 是能够整除的意思推断序列位置:1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17数字:1,2,2,3,2,3,2,4,3, 3, 2, 4, 2, 3, 3, 5, 2发现每到下标为2的幂的位置,所需要的最大数都会加1,这个数字等价于下标二进制的位数。所以对于n个瓶子,只有当m>=n的二进制位数时才会存在可行的方案。代码#include <iostream>#include <cstdio>#

2020-11-08 12:00:08 134

原创 Codeforces Round #673 (Div. 2)

Codeforces Round #673 (Div. 2)传送门A. Copy-paste题解贪心,最小的一个个往后加。代码#include <iostream>#include <cstdio>#include <algorithm>#include <cmath>#include <cstring>#define ll long longusing namespace std;int a[1005];int m

2020-09-28 22:30:10 108

原创 2020中国大学生程序设计竞赛(CCPC) - Lunch (HUD 6892)

1005 LunchLunch题意:给你n块巧克力,长度已知。现有如下操作1.在每个回合中,玩家需要选择一块巧克力。如果选择了等于1长度的巧克力,则该玩家输掉游戏。2.假设所选巧克力的长度是l,那么玩家需要选择一个满足k至少为2且k是l的因子的正整数k。3.然后玩家需要将选中的巧克力切成k个长度为l/k的巧克力。每个人取最优解,问两人比赛,谁会赢。题解:这一是一个博弈论题目,想到每个巧克力作为一个局面,后继操作使局面可以“分裂”,”分裂“后各个局面取xor和得sg,所有局面sg求mex即可

2020-09-22 21:12:27 999

转载 牛客每日一题 7月3日 毒瘤xor (前缀和+贪心)

毒瘤xor题目毒瘤xor异或异或(^)运算规则:0 ^ 0 = 0 ,0 ^ 1 = 1, 1 ^ 0 = 1, 1 ^ 1 = 1.题解本题如果原来的数这一位是1,它异或一个0;如果原来是0,异或1。我们用一个前缀数组记录每一位的1的数量,如果1更多,我们就让他异或一个0, 如果0更多, 就异或一个1。前缀和的处理是需要(n*30)。代码#include <iostream>#include <cstdio>#define ll long longus

2020-09-16 21:41:14 173

转载 牛客每日一题 7月15日-生日快乐(DFS)

生日快乐题目生日快乐题解大概意思给你一个nm的矩形,切成n等分,并且长宽比的最大值最小。dfs的方向就是我们枚举每一刀的位置即可,对于当前矩形假如要把它切成k块,下一刀的取法只有2(k-1)种方案,取最小的一种即可。代码#include <iostream>#include <cstdio>#include <cmath>using namespace std;double dfs(double x, double y, int n) {

2020-09-16 21:25:16 143

转载 牛客每日一题 5月18日「土」秘法地震 (二维前缀和)

「土」秘法地震题目题目连接 「土」秘法地震二维前缀和f[i][j]为前i行前j列的格子里面数字的和,f[i][j] = f[i-1][j] + f[i][j-1] - f[i-1][j-1]f[i][j]=f[i−1][j]+f[i][j−1]−f[i−1][j−1]如图一:如果我们需要求一个左上角为(a,b)右下角为(c, d)的子矩形的和,显然它等于f[c][d] - f[a][b-1]-f[a-1][b]+f[i][j]f[c][d]−f[a][b−1]−f[a−1][b]+f[i][

2020-09-08 21:19:06 112

原创 快速幂和快速乘

快速幂2^10 = 2^5 * 2^5;2^5 = 2 * 2^4;2^4 = 2^2 * 2^2;2^2 = 2^1 * 2^1;2^1 = 2 * 2^0;有些时候偶数的情况就只需要乘它本身就够了,时间复杂度少了很多,这样的话2^10只需要5步就可以求出来了,但是循环的话,却需要十次。在二进制中假如是2^10那么10对应的二进制就是1010,那么1号位,3号位都是1,所以就有了10 = 23+21=8+2,所以210=28+2^2。所以二进制就先初始化ans = 1,用来存放累积的结果,

2020-08-07 21:31:51 96

转载 牛客每日一题 3月20日 滑动窗口(优先队列)

滑动窗口(优先队列)题目链接:滑动窗口题解:我们用一个双端队列来维护(普通的队列只能从队尾加入元素从队首删除元素,双端队列的队尾也可也删除元素),区间每次右移一个单位,首先看看队首的元素是否超出了范围,如果超出了,就把它删掉;然后将新进入区间的这个元素往双端队列里放,但放进来之前需要判断队尾(也就是还有可能成为最大值的最后一个元素)是不是小于最后一个元素,如果是,就把这个队尾删掉,一直到前一个元素大于等于它为止。由于我们队列里面的元素实际上是单调不增的,每次的最大实际上就在队首。而由于每个数进队和出

2020-08-07 14:05:21 166

原创 AtCoder Beginner Contest 174

AtCoder Beginner Contest 174比赛地址A - Air Conditioner题解签到题代码#include <iostream>#include <cstdio>using namespace std;int main() { int x; scanf("%d", &x); if(x >= 30) printf("Yes\n"); else printf("No

2020-08-07 13:55:59 176

原创 牛客每日一题 3.25 tokitsukaze and Soldier (贪心+优先队列)

题目题解枚举选择多少个物品,显然所有不低于此限制的物品均能选择,则使用一个优先队列储存当前选择的物品,先加入符合限制的,然后在删除容量的最小的部分即可。代码#include <iostream>#include <queue>#include <algorithm>#define LL long longusing namespace std;const int MAXN = 100020;priority_queue<LL, vector&l

2020-07-29 14:54:24 169

原创 Codeforces Round #658 (Div. 2)

Codeforces Round #658 (Div. 2)A. Common Subsequence题意:找两个字符串最短的公共子序列题解:用桶排序记录有是否出现过,出现过就输出代码:#include <iostream>#include <cstring>using namespace std;int a[1005];int b[1005];int num[1005];int main() { int t, n, m; cin >>

2020-07-27 10:40:09 103

原创 Codeforces Round #656 (Div. 3)

Codeforces Round #656 (Div. 3)A. Three Pairwise Maximums题意:对于每组测试样例给出三个数x y z,你需要寻找三个数a, b, c使得x = max(a,b) y = max(a,c) z = max(b,c) 如果能找到则输出YES按任意顺序打印abc题解:因为z是a、b和c三个整数中的最大值,并且它以两对出现(因此它在x、y和z中最多出现两次)。否则,答案就存在了,它可以是x,x和z,代码:#include <iostream&gt

2020-07-20 20:17:33 110

原创 Codeforces Round #646 (Div. 2)

Codeforces Round #646 (Div. 2)题目链接:Codeforces Round #646 (Div. 2)A. Odd Selection代码#include<iostream>using namespace std;int main() { int t; cin >> t; while (t--) { int n, x, a, sum = 0, Odd = 0, Oeve = 0; cin

2020-06-02 20:47:22 184

原创 Codeforces Round #644 (Div. 3)

Codeforces Round #644 (Div. 3)比赛链接 :Codeforces Round #644 (Div. 3)A. Minimal Square题意:找出 a*b 正方形最小的面积题解:比较边的(a2,b)或(a,b2)的长短代码:#include <iostream>using namespace std;int main() { int t, n, m; cin >> t; while(t--) { cin >> n

2020-05-26 21:00:15 157

原创 E. Special Elements(cf#640)

E. Special Elements题意给定元素个数<=8000且元素大小<=8000的数组,问其中可表示为连续子序列的和的元素有多少个题解求出所有子序列和然后再匹配元素,和大于8000就不需要了#include <iostream>#include<cstring>using namespace std;int visit[8100]; //用桶数组来装所有的子序列和 int a[8100];int b[8100];int main() {

2020-05-23 21:11:32 217

原创 2020.1.12 ECJTUACM寒假组队赛

A - Thickest Burger题目样例输入样例输出代码#include <iostream>using namespace std;int main(){ int n, a, b, sum; cin >> n; for(int i = 1; i <= n; i++) { cin >> a >> b;...

2020-01-12 20:53:30 79

原创 杭电 2095

杭电 2095 find your present 题目:输入输出样例输入样例输出题解逻辑运算按位与运算符(&)按位或运算符(|)异或运算符(^)取反运算符(~)左移运算符(<<)右移运算符(>>)题解代码题目:在新年晚会上,每个人都会得到一份“特别礼物”。现在该轮到您拿起您的特别礼物了,现在有很多礼物放在桌子上,只有一个是您的。每个礼物都有卡号。 在上面,您的...

2020-01-05 21:05:38 463

原创 树状数组例题(2019.12.10)

树状数组例题(2019.12.10)A. Jump题目描述有n个障碍物排列在一条直线,障碍物高度为a1,a2,a3…an有m个独立的询问,一个人最高越过高度为Hi的障碍物,那么在[Li,Ri]区间有多少障碍物是他可以越过的输入第一行两个整数n和m(1≤n,m≤1e5)第二行n个整数,a1,a2,a3…an(1≤ai≤1e9)余下m行,每行三个整数Li,Ri,Hi(1≤Ri,Li≤n...

2019-12-10 19:43:58 552

原创 2019.11.24 摸底测试补题报告

2019.11.24 第一次摸底补题报告A. Water题目描述:有n个容量不一的瓶子,现在想往瓶子里装水,但是一个一个装太累了。于是为了不那么累,就只好佛系装水了。规则就是每次随机选中一个瓶子,往该瓶子里装水,若该瓶子里水满了,就找到下一个瓶子,直至找到最后一个瓶子。现在想知道,经过m次随机操作后,每个瓶子里有多少水。输入:一个整数t(1≤t≤10),代表t组数据每组数据输入一...

2019-12-01 21:17:15 1946

空空如也

空空如也

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

TA关注的人

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