自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【第十三届蓝桥杯】X进制减法

现在有两个 XX 进制表示的整数 AA 和 BB,但是其具体每一数位的进制还不确定,只知道 AA 和 BB 是同一进制规则,且每一数位最高为 NN 进制,最低为二进制。请注意,你需要保证 AA 和 BB 在 XX 进制下都是合法的,即每一数位上的数字要小于其进制。当进制为:最低位 2 进制,第二数位 5 进制,第三数位 11 进制时,减法得到的差最小。最低位是二进制,所以就是最低位满2第二位进1,然后A的第二位是4,所以是4。2,然后第二位满5,第三位进1,A的第三位是10,所以是10。

2023-03-24 21:15:20 203

原创 Codeforces Round 857 (Div. 2)C

异或就是相同为0,不同为1。太菜了没想出来怎么写,队友友情指导了一下。就是让它每个子矩阵的异或和都为0就可以,然后因为异或是相同为0不同为1,就是寻找元素相同的部分,这个时候就可以想到行和列了。只要让行和列都出现在元素中就可以使异或和相同了。而且因为n和m的范围是200以内,然后200大概是在第8位,所以让行左移10位再加上列就行。4的子矩阵和与它对角的子矩阵的异或和相同,并且这个矩阵中的数字尽可能不同。m的矩阵,要求这个矩阵中任意4。

2023-03-16 17:01:53 93

原创 第十二届蓝桥杯省赛第二场 C++ B组 - 负载均衡(优先队列维护结构体)

有一系列的任务被指派到各个计算机上,第 i 个任务在 ai 时刻分配,指定计算机编号为 bi,耗时为 ci 且算力消耗为 di。对于每次任务分配,如果计算机剩余的运算能力不足则输出 −1,并取消这次分配,否则输出分配完这个任务后这台计算机的剩余运算能力。如果此任务成功分配,将立刻开始运行,期间持续占用 bi 号计算机 di 的算力,持续 ci 秒。就是动态维护a的排序,所以想到堆。然后发现我不会优先队列维护结构体,于是学了一下。优先队列维护结构体好像就是要把结构体重载一下,然后在直接套优先队列里面。

2023-03-14 20:44:25 97

原创 2021ccpc网络赛重赛

Alice and Borys are playing tennis.A tennis match consists of games. In each game, one of the players is serving and the other one is receiving.Players serve in turns: after a game where Alice is serving follows a game where Borys is serving, and vice ve

2021-10-27 20:52:14 250

原创 21年牛客多校3补题

J题:一道结论题,比赛的时候队友想出来的,算每个点对于破坏一个三角形的贡献。波浪线代表白色,直线代表黑色,我们发现只有当一个点它连接的两条线颜色不同的时候才能破坏一个三角形。设一个点连着a条白线,b条黑线,那么一条白线能破坏b条黑线,一条黑线也能破坏a条白线,那么一个角能破坏的三角形个数就是a * b。因为两个角会破坏同一个三角形,所以一个角破坏的三角形个数就是a * b / 2。...

2021-08-22 09:51:13 55

原创 区间DP初讲

打黑龙江省赛的时候遇见了一道区间dp的板子题,当时还没学区间dp所以没做出来,回来之后就把区间dp学了一下。要学区间dp首先就要学一下dp,就是动态规划。我是先从数字三角形模型开始学的。下面先给出一个数字三角形的例子:12 34 5 67 8 9 10这就是一个最基本的数字三角形,我们要从第一行走到最后一行,使路径和最大或者最小,在每一个位置只能向下或者右下走。可能看到这个例子第一眼会想到贪心,每一步都选取最大或者最小的来走,但是如果是这个例子呢?11 2;‘1 2 31 2 2 3

2021-06-06 18:54:11 144 2

原创 KMP算法详解

前几天学了一下KMP算法,看大佬们的博客加上自己的强行理解大概算是学了一下这个算法,整理一下。暴力算法:就是最普通的复杂度为n*m的一个暴力,长度为n的主串和长度为m的子串一个一个的匹配,如果不匹配的话就从主串的第二个位置开始匹配,子串从头开始匹配。那么KMP算法应该是怎么样的呢?我们可以举个例子:主串s:abcabdabcabc子串t:abcabc用暴力算法匹配就是主串子串一个一个匹配,匹配到"d"的时候发现不匹配,那么主串移到第二个字母,也就是"b",子串移到第一个字母"a"重新匹配,或者在

2021-05-31 22:35:51 160

原创 基础博弈理论(巴什博弈,威佐夫博弈,尼姆博弈,斐波那契博弈)

巴什博弈:巴什博弈就是一共有n个石子,两个人轮流拿石子,一次最少拿1个最多拿n个,最后取光石子的人赢。先拿石子的人称为先手,后拿石子的就是后手,因为两个人都是绝顶聪明的,所以我们要判断在不同的n和m的情况先手和后手哪个是必赢的。一共有n个石子,如果一开始n只等于m+1,那么不论先手拿了几个,后手都可以一次拿走剩下的。如果n大于m+1,同样的,不论先手每次拿几个,后手都可以使两个人这次拿的石子合起来的数量是m+1,所以当n%(m+1)==0的时候,先手必输,后手必赢。巴什博弈的变形:前面和巴什博弈一

2021-02-26 16:02:07 2050 2

原创 贪心算法的三个基本问题

背包问题:背包问题就是在背包载荷已经给定的情况下,每次把单位价值最高的物品放入背包中知道所有物品放完或者背包中物品的重量达到给定载荷。一般是用结构体来做;for(int i=0;i<n;i++){ v[i]=p[i]/w[i]; //p是每个物品的价值,w是每个物品的重量}//然后对物品的单位价值由高到低排序W=0,P=0; //设定背包一开始的包内物品重量和价值while(W<M){ if(M-W-w[i]>=0){ //如果这个物品可以完全放进背包里且不超

2021-02-10 22:26:11 477

原创 C++排序

整理一下几个排序。选择排序(时间复杂度是O(n的平方: for(int i=0;i<n;i++){ for(int j=i;j<n;j++){ if(a[i]>a[j]) swap(a[i],a[j]); } }冒泡排序: for(int i=0;i<n-1;i++){ for(int j=0;j<n-i-1;j++){ if(a[j]>a[j+1

2021-02-05 19:14:38 211

原创 C++STL容器函数以及部分例题

最近几天学了STL的一些容器,大概用了一下,不得不承认,有些真的还挺好用的!先学了vector,vector是一种序列式容器,和数组很像,但是比数组好的就是空间上可以动态调整,并且可以在中间进行插入和删除。如果要使用vector就要在一开始加上:#include <vector> using namespace std; vector<T>a这里面T是容器里面元素的类型,a是容器的名字。然后以上面这个容器讲讲vector的几个操作:a.size():容器a的大小;

2021-01-28 22:56:49 674

原创 扩展欧几里德和求最小解以及例题青蛙的约会题解

前几天比赛的时候遇见一道扩展欧几里德的题没写出来,于是后来就去把扩展欧几里德学了一下。参考博客是这个:点我欧几里德定理:gcd(a,b)=gcd(b,a%b),这是用来求最大共约束的。用递归来写代码是:int gcd(int a,int b){ if(b==0) return a; return gcd(b,a%b);}那么扩展欧几里德就是用ax+by=gcd(a,b)来求解x和y。这个应用也可以再推衍成ax+by=c→ax+by=cgcd(a,b)/gcd(a,b)→ax/(c/gcd(a,

2021-01-27 16:26:58 171

原创 寒假集训第三期Day4

今天也是在做题,写了几道比较简单的题目,自信一下子回来了。(虽然我很清楚是题目比较简单再加上老师讲过)Integer division between a dividend n and a divisor d yields a quotient q and a remainder r. q is the integer which maximizes q ∗ dsuch that q ∗ d ≤ n and r = n − q ∗ d.For any set of integers there is

2021-01-22 00:23:52 215

原创 寒假集训三期Day3

最近写了几道题,感觉自己懈怠了很多,vjudge的提交真的很慢,这道题不知道ac没有,先发上来再说。You have decided that PGP encryptation is not strong enough for your email. You have decided tosupplement it by first converting your clear text letter into Pig Latin before encrypting it with PGP.Input

2021-01-20 19:19:40 141

原创 寒假集训Day9

今天就是打比赛,然后也没有训练也没写什么题出来,今天发现了一个关于pow函数的有意思的事情,就是我int z=(int)pow(169,0.5)算出来z=13;但是我int i=169,然后int z=(int)pow(i,0.5)算出来z=12,具体好像和计算机内部什么数据读取的形式有关,反正还挺复杂的。下面po一道AC代码。#include<iostream>#include<cstring>#include<stdio.h>#include<bits

2021-01-09 22:25:07 101 1

原创 寒假集训Day8

今天陈老板讲得东西真的感觉有点晦涩,而且讲课之前我写了一道并查集的题WA了,调bug调一半去听课总走神想到自己写的代码上。 本来课就难,还听得不认真,准备这几天把今天学的知识再看看,看看博客什么的。然后中午把那道并查集AC了,还去写了一下之前写过的两道搜索题,一道深搜一道广搜,都是比较简单的模板题,然后我去看了一道fire就没写出来,这几天可能会去想想怎么写,或者去看看别人怎么写的,写出来了会发的。下面我把今天写的几道题发一下。C - The SuspectsSevere acute respira

2021-01-09 00:00:02 110

原创 寒假集训Day7

今天学了并查集,还有差分查找之类的。今天上午搜了搜博客学了一下并查集,发现一个博客写得很好,我在这里把地址po一下,真的写得很不错!然后做了一道之前的题,可以用并查集做,下面我把题目和代码发一下。How Many TablesToday is Ignatius’ birthday. He invites a lot of friends. Now it’s dinner time. Ignatius wants to know how many tables he needs at least. Yo

2021-01-07 23:37:27 92

原创 寒假集训Day6

今天上午陈老板给我们讲了数据结构:二叉树、堆排序、哈希表、字符串前缀哈希法、拉链法、开放寻址法等一些知识。稍微有点晦涩,不是太好理解。然后做题的时候发现果然不会做,不知道怎么用所学的知识。今天先做了一道Flying to the Mars,我看了一下题目就想到用一维数组记录之后再用快排得出最大值,然后做了之后提交,果不其然TLE了。这个时候我就在想这道题应该要用今天上午说到的二叉树或者哈希表去做,但是我还是不死心的优化了我的代码,我把快排改成了一个for循环,遍历一遍数组记录最大值直接输出,然后又交,果不其

2021-01-06 23:40:44 107

空空如也

空空如也

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

TA关注的人

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