自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (2)
  • 收藏
  • 关注

原创 c++bitset用法详解(超简单)——蒟蒻函数

bitset相当于一个二进制的数组,并且可以直接用01串赋值bitset<4>a1;//长度为4,默认以0填充bitset<8>a2;//长度为8,将12以二进制保存,前面用0补充string s = "100101";bitset<10>a3(s);//长度为10,前面用0补充//实验检测,char在普通环境不能直接赋值给bitset//要开c++11,针不戳char s2[] = "10101";bitset<13>a4(s2)

2020-09-08 16:51:06 26126 4

原创 Codeforces Round #6831447div2 A. Add Candies——蒟蒻题解

题目描述给你nnn袋糖果,第iii袋有iii个糖,现在你可以进行若干次操作,每次操作选择一袋糖果第jjj次操作定义如下:除了选中的糖果袋,其他每袋糖果放入jjj个糖让你输出操作次数和每次操作选中的糖袋子序号(输出任意一种情况即可)题目思路生草翻译刚开始看的我一脸懵我们先来化简操作,我们在给除了其中一袋,其他袋都加上同一个数时,相当于给这一袋减去了相应数量的糖果,这一点是很明显的而且因为本质上还是加,所以不用考虑负数现在我们来看原来的序列例如1,2,3,4,5,6……1,2,3,4,5,6

2020-11-17 19:11:42 157

原创 codeforces #674 1426C Increase and Copy

题目描述给定nnn和初始数组,其中a[1]=1a[1]=1a[1]=1,每次操作可以让数组中的一个元素++,或者复制一个元素到空白位置,最少多少次操作让数组元素之和到达nnn.题目思路那我现在可以告诉大家题目的真正意图了其实就是给你一个元素,你可以选择让他加111或者复制一个我们口胡一下样例就能发现规律了其实这种题要么是从加到一半开始复制,要么就是加到根号的位置开始复制加到一半显然不可能,最后一组样例100000000010000000001000000000如果加到一半显然不符合标准我们

2020-09-28 21:26:58 211

原创 codeforces #674 1426B Symmetric Matrix

题目大意给定nnn个2×22\times22×2的瓷砖,然后给出mmm,看你是否可以通过这nnn种瓷砖来(不互相覆盖的)拼成边长为mmm的地板,使地板能沿对角线对称(左上到右下的对角线)ps:每种瓷砖不限量题目思路很显然的,因为只有2×22\times22×2的瓷砖,所以我们永远不可能拼出边长为奇数的地板,所以直接a掉了一半的数据剩下的考虑贪心思想,既然要我们拼出沿对角线对称的地板,而且又不限量,那么我们只要有一种右上和左下相等的瓷砖,然后一直拿它拼拼拼就行了,这样就可以一边保证/\large//

2020-09-28 21:15:30 193

原创 codeforces #674 1426A Floor Number

题目描述给定nnn(要查询的公寓号),和xxx(每层的公寓数),让你求出nnn所在的层数ps:第一层只有两个公寓题目思路简单模拟就行注意先减第一层的222,模数如果不是000就++,最后输出的ans−1ans-1ans−1就行了代码#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; int n,x; long long ans; while(t--){ ci

2020-09-28 20:50:23 152

原创 CF1420A Cubes Sorting——蒟蒻题解

吐槽:刚看到这题几分钟就想到了正解,然后发现这次cf没报名,悲痛万分之后来给大家发题解题目大意给定n个立方体的体积,问是否可以通过最多n∗(n−1)2−1\frac{n*(n-1)}{2}-12n∗(n−1)​−1次操作,(每次操作可以交换两个相邻的数)将数列按从小到大排序(非严格大于)题目思路:一看就知道是个找规律题,我们可以从最坏的例子入手,看看与题目描述的操作次数有没有规律假设有这样一种最坏情况5 4 3 2 1可以手写一个冒泡来计算操作次数(也可以自己口胡查询排序次数的冒泡代码:

2020-09-26 12:08:39 166

原创 洛谷P2041 分裂游戏——蒟蒻题解

题目大意给定一个棋子和边长为n的阶梯,每次操作可以把棋子分裂成上面一个和右边一个,目标是将棋子移除棋盘,问操作次数和每次操作原棋子的位置无解输出-1题目思路我们先从小数据开始分析:n=1n=1n=1时操作一次即可n=2n=2n=2时操作四次即可,最后的五个点标起来了n=3n=3n=3时(此例子优先向上分裂)此时我们可以发现,前一个点总是会挡住下一个点分裂,如果此时再次分裂为前一个点开路,让右边的点过去,开路生成的右点又会堵住已经过去的点的上面位置,于是无法跑出n=3n=3n=

2020-09-22 09:47:11 388

原创 cf1419A——蒟蒻题解

题目简述给定一个数字串,Raze,Breach两个人都以最优策略进行游戏:两人轮流对该数字串进行标记,Raze只能标记奇数位上的数,Breach只能标记偶数位上的数,如果最后一个没被标记的数字(即最后剩下的数)是奇数,那么Raze胜出,否则Breach胜出ps:原题中的(make a turn)个人感觉是个多余点,垃圾翻译可以直接忽略解决方法可以把数字长度分为奇偶两种情况讨论:1.1. 如果有奇数个,并且奇数位上至少有一个奇数,因为最后一个数肯定在Raze范围内,所以他肯定可以保证这个数留在最后,

2020-09-20 19:46:52 109

原创 cf#667 1409B Minimum Product

给你两个数和两个限制,和操作次数每次操作可以让其中一个数减一,输出能让a∗ba*ba∗b最小的最优方法的到的乘值,也就是最后的a∗ba*ba∗b这题也是个贪心小学知识告诉我们,两数相乘越接近越大,那么差越大,乘值越小,此时优先让a,ba,ba,b中较小的减注意数据范围开longlonglong longlonglong#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; whi

2020-09-05 08:23:11 243

原创 cf#667 1409A Yet Another Two Integers Problem

给定a,ba,ba,b两个数,使aaa变成bbb,每次操作可以让aaa加或减一个1…101…101…10的数使用贪心策略,优先加或减101010,当差值小于101010时,即可再操作一次使aaa变成bbb所以要特判a,ba,ba,b相等的情况和a,ba,ba,b差小于10的情况看代码#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int a,b;.

2020-09-05 08:14:13 149

原创 洛谷p2401(不等数列)——蒟蒻题解

膜你赛T2——不等数列(洛谷p2401 ps:膜数不一样)刚开始打了30分的打表(手推不出规律)因为T1看错题了导致两小时全栽在T1上(中午开始思考推规律虽然同机房的说是杨辉三角,但是这方面我做的题不多,没法直接看出来ps:因为打表时忘了处理0的情况,下意识以为没有<的个数肯定是零,其实还有全大于号的情况啊喂于是去看题解思路其实原来也想了是不是通过上面两种临近的情况推过来,所以看完题解豁然开朗,下面写出思路所以上面的都是废话首先我们举一个例子1<2<31&

2020-09-03 16:45:32 292

原创 cf#1397 A. Juggling Letters

惯例,先粘个生草翻译题意大概就是给你nnn个字符串,你可以讲其中的字母任意移动,问是否有可能让这nnn个字符串变成同样的字符串我们可以另辟蹊径,直接看如果可以的话需要满足什么条件因为每个字符串最后都相等了,所以只要出现过的字母的出现次数一定是nnn的倍数(可能一个串里有多个)那么我们建一个桶,记录每个字母出现的次数就行了第一行说了是小写字母,所以题解中处理大写的…有点多余数组建一个大于26的就行看代码#include<bits/stdc++.h>using namespace

2020-08-31 09:31:37 1055 3

原创 CF1401A Distance and Axis——蒟蒻题解

惯例,先粘个生草翻译题目大概就是给你aaa点(在数轴上然后看你能不能找到让o−bo-bo−b与b−ab-ab−a的距离为k的点(b)(b)(b)这生草翻译让我看了半天才懂其实我们可以通过样例找出规律1.很显然如果n<kn<kn<k,那么要往右移才行,步骤就是k−nk-nk−n2.如果满足1,我们发现最多只要一步就可以满足到题目描述,我们就要分奇偶判断情况,(这些都可以从样例找出)具体证明可以看楼上,因为我是看样例得出规律的#include<bits/stdc++.h

2020-08-22 09:05:05 233

原创 cf1374C. Move Brackets——蒟蒻题解

惯例,粘个生草翻译这题就是左右括号适配我们为了判断当前是否已经适配引入前缀和( 表示1, ) 表示-1;如果前缀和<0,说明这个位置是个多出来的 ) ,那么直接把他扔到最后面,总有一天他会找到另一半这题也算个小贪心但挺简单的看代码#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int n,ans=0,sum=0; cin

2020-08-15 10:24:30 304

原创 cf1374B. Multiply by 2, divide by 6

惯例,粘个生草翻译注意数据范围,不能直接暴力求解我们换个思路被六整除一定被二和三同时整除所以不被三整除的数一定不满足要求如果被三整除判断是否还被二整除(也就是被六整除)是就num加一(操作一次)否就加二(先乘二再除六)看代码#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ int n; cin>>n; int num

2020-08-15 10:18:32 218

原创 cf1374A. Required Remainder——蒟蒻题解

惯例:数学题公式就是(n-y)/x*x+y求不大于n的最大能除x余y的数#include<bits/stdc++.h>using namespace std;int main(){ int t; cin>>t; while(t--){ long long x,y,n,modn; cin>>x>>y>>n; cout<<(n-y)/x*x+y<<endl; // cout<<mod

2020-08-15 10:13:12 155

原创 CF1399A Remove Smallest——蒟蒻题解

惯例,粘个生草翻译超简单的一道题删数嘛,但只能删差小于等于1的两个数那我们直接来个sort排序如果这里面有差大于1的就直接输出没有否则就有看代码#include<bits/stdc++.h>using namespace std;int t,n,a[105];int main(){ cin>>t; for(int i=1;i<=t;i++){ cin>>n; int x=1; for(int j=1;j<=n;j++){

2020-08-14 21:10:08 183

原创 CF1399B Gifts Fixing——蒟蒻题解

惯例,先粘个生草翻译很简单的一道题两个拥有同样下标的数组写个小贪心a数组代表糖果b数组代表橘子内部循环遍历一次把多的糖果(减去最小值求出)全吃掉,同时吃相同数量的橘子(保证贪心)然后判断如果吃多了就吐出来再来个if专门处理没吃完的橘子就行了没有易错点但因为两个独立的数组,所以变量名要特别注意,(我改了两次才对 )呔,看代码#include<bits/stdc++.h>using namespace std;#define int long long int a

2020-08-14 21:05:18 171

原创 cf#644 div2 B. Boboniu Plays Chess

惯例,粘个生草翻译这题比第一题还简单(简单多了 )虽然题面不短,但仔细读就会发现条件不多刚开始我误以为是一笔画的题,但题中的棋子不同,他是車 ,棋子可以直接跳过一个点,也就是上下左右随便走,那就简单了,遍历一遍从左往右,再从右往左就行啦,注意奇数行从左往右走,偶数行从右到左还有初始点读入的位置就不用再走了#include<bits/stdc++.h>using namespace std;int a[101][101];int main(){ int n,m; cin&g

2020-08-14 10:33:01 179

原创 cf#644 div2 A. Boboniu Likes to Color Balls——蒟蒻题解

div2的第一题粘个生草翻译(看不清放大)ok我们来说题由于之前学长的毒瘤模拟赛,我看到这题居然想直接打暴力骗分走人然后瞟了一眼题解知道了要搞个函数(这和题目没关系所以我不算抄题解 )其实我刚开始就发现了很多规律,比如说如果有大于两个以上奇数的球,那么就不行可是为什么呢?生草翻译告诉我们,每次将三个(红绿蓝各一)涂成白色可以直接认为是将三个其他颜色的球改为一个白色球为什么是一个?因为都是奇数的情况下是一样的,后面会证明ok现在题目看完了继续说规律首先,证明

2020-08-13 15:23:06 202

原创 Codeforces Round #664 (Div. 2)——蒟蒻经历

第一次做cf的比赛两个小时a了最简单的两道题……当然打的是虚拟比赛谁晚上十点半还打比赛啊其实题并不难(我是指前两道)等会放个题解

2020-08-13 14:51:57 260

原创 CF1144E Median String(中位串)——蒟蒻题解

先看题 就是把两个串中间的字典序排列搞出来,再输出中间的那个,刚开始我还想着能不能用next_permutation更快搞出来,结果发现这和朴素的排列没半毛钱关系其实我们可以换个思路,直接暴力求出中间值,所以我们要把字母转化为数字,也就是26进制数,从char数组中转移到int数组中但是我们突然看到了数据范围k<=2∗105k<=2*10^5k<=2∗105 kkk就是字符串的长度这就意味着我们要加入一个重要的东西:高精高精都懂吧,不懂可以去看——》模板《——(题解第

2020-08-12 19:43:40 240

原创 CF1028B Unnatural Conditions蒟蒻的最简单题解

我们先来理解一下题意我们要找出数 aaa 和数 bbb使 aaa 和 bbb 各个数位的和 =>=>=> nnn , a+ba+ba+b <=<=<= mmm本题可以花一点时间去构造,但是有更好的作法:我们先看一眼范围n和m都小于等于1129但是哈,我们发现输出并没有限定位数(只给了a,b范围)所以我们可以尝试找出一个答案,让他满足所有问题,所以直接把n当作1129,m当作1我们发现第一句很容易就满足了:(使 aaa 和 bbb 各个数位的和 =>

2020-08-10 20:12:43 169

原创 洛谷 P2916题解 【[USACO08NOV]Cheering up the Cow G】

所需前置知识:邴茶吉我个人觉得把所有东西写成函数会更方便大多数简单的生成树都要写这些东西:建结构体——>给结构体写比较函数一模一样的并查集模板重点的kruskal分为以下几步:1.循环看始点和重点是否为同一连通块2.否——接入f[u]=v3.计数并判断是否形成了最小生成树粘一个正经描述当然本题不可能完全是个模板,我们看题之后会发现要重复计算忽悠时间,并在输出时多算一个始点之后看代码#include<bits/stdc++.h>using namespace

2020-08-09 19:28:47 228

原创 蒟蒻模板之矩阵快速幂(洛谷p3390)

题目背景矩阵快速幂题目描述n*n的矩阵A,求A^k输入输出格式第一行两个整数 n,k 接下来 n 行,每行 n 个整数,第 i 行的第 j 的数表示 Aij。输出A^k,共n行,每行n个数,第i行第j个数表示 (A^k)i,j 每个元素对10^9+7取模#include<bits/stdc++.h>using namespace std;#define ll long long#define rint register int#define gc() g..

2020-08-05 11:16:55 203

Notepad++.rar

使用于几乎所有代码格式,并且有代码高亮,可以自定义字体和模式,可以完美代替windows自带的文本文档,功能强大,记录笔记和学习资料是个不错的选择

2020-09-22

一键退出伽卡他卡学生端程序

一键秒杀退出,如果最后要交作业的话重新点伽卡他卡登录就行了,还可以恢复伽卡他卡锁定的任务管理器,记得右键用管理员权限打开才行哦

2020-09-22

空空如也

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

TA关注的人

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