自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 opengl中glew安装配置过程

选择C/C++---->选择常规---->在附加包含目录中添加include文件夹的相对路径。然后链接器---->输入---->附加依赖项添加glew32s.lib。准备 GLEW 4.3以上都可以(建议)下载到一个文件夹解压即可。链接器---->常规---->附加库目录。加入GLEW_STATIC;

2024-12-31 16:13:55 354

原创 c++中的智能指针

+(*a);return 0;

2024-12-09 14:27:56 356

原创 cmake学习

cmake_minimum_required(VERSION 3.5) 指定cmake版本如果cmake版本号小于指定的版本号时,运行cmake 就报错。

2024-12-09 10:26:27 351

原创 Codeforces Round 928 (Div. 4)(A-G)

a[i]^1<<31-1如果两个都不为0,则减去,res++,在统计没有匹配的数。判断是三角形还是正方形,如果有一行或者一列是1则为三角形。记录每个数的出现次数,用map存,之后统计。先打表发现只有在2的次方下才会删除数字。c的话当成s或p 来动态规划。提前预处理就行,前缀和。这样我们直接枚举即可。

2024-02-23 20:39:18 481 1

原创 Codeforces Round 927 (Div. 3) (A-E)

正向处理的话会有有的数取逆元会导致有丢失,所以我们用逆向思考。模拟,用累计的年除以当前年+1乘以这个年份,保证比这次大即可。可以看出只需要从后往前求前缀然后进位就行。模拟,如果有两格都是障碍就过不去结束。离线处理,存结果,然后再输出。

2024-02-22 19:36:20 461 1

原创 think-cell Round 1

字典树最大,贪心的思考,必须把大的放到前面,由于插入后还会删去,我们一定要把最后面最大值插进去,不然前面要减一,先排序加上序号,排序,每次取min(a[i],a[i-1]-1)d2要想每一个1怎么构造,发现三个一组,动态规划。每次选两个数,加上小的数的值,求最高分。不让满足的话只需要大小交替即可。d1暴力枚举所有子串构造节课。

2024-02-21 11:28:39 508

原创 Codeforces Round 926 (Div. 2)(A-D)

常识题,你去赌博肯定是想这一次赢回来,所以每次投资都要赢回来之前的多一点,数学模拟就行。now>sum/(k-1)->now=sum/(k-1)+1只要能拿出即可。每次比上次多一点,让他不让你赢,后面越拿越多只要你能拿回本就行。你发现图一个可以增加两个格子共2n-2个剩下都是一个的格子。两种情况:1.所有链选的点不超过一2.存在选中两个点的链。f[u]表示非空点集一条链最多选一个点。排序,答案就是最大减最小值。树形结构dp并且进行组合。共有4n-2个对角线。

2024-02-21 10:27:26 451

原创 Codeforces Round 924 (Div. 2)(A-C)

贪心,先排序,去重,发现能相等的值在一个滑动窗口,只要求出大于a[i]+n位置然后进行求出两者之间的数目即可。让a>b对于能构成的要不都是偶数要不一个是偶数但除以二不等于另一个。如果是在前半段的话 (2*k-2)*m=n-x 满足大于x。如果在后半段的话 (2*k-2)*m=n-x+2满足大于x。求出能构造出的矩阵,判断与之前是否相等。防止有重复的用set去重。那么k必须是n-x因子。这道题先用数学来分析。

2024-02-15 21:17:31 486 1

原创 Codeforces Round 925 (Div. 3)(A-F)

i<j就可以用多的给少的可以先算出平均值然后每个数减去这个值,记录其他数字,如果出现当前累计的数值加上当前数值小于零就停下,不满足全部相等。告诉你顺序,我们发现忽视第一个人,后面的顺序如果不是拓扑序列就不满足条件,我们只要存下边,进行判断拓扑序列即可。我们记录0数量排序进行增减,记录总位数进行比较 ,10的m次方是m+1位(注意)我们必须要准备记录a[i]%x的值和a[i]%y的值,边记录边计算。我们可以使用双指针,左边有相等右移,反之左移,求出最大值。贪心 选择一个数,一个是翻转,一个是连接。

2024-02-14 22:24:36 452 1

原创 Codeforces Round 923 (Div. 3)(A-E)

询问不同元素数量,可以考虑,用一个数组去记录这个元素左边不同的元素是哪一个,如果相等就一直右移,大概是滑窗类似的思想,时间复杂度o(n),预处理完,求是能构成序列,用两个hash表记录如果两个中没出现,输出no,然后求出两个数组中独有的。在二十六个字母中选,如果出现次数等于数组值,则输出直接暴力枚举即可。输入l,r如果b[r]<l不在区间内,输出-1,否则输出b[r]r。记录,如果都小于等于k/2,则可以,否则不行。贪心策略,找最左边的B和最右边的,计算长度。构造题,仔细观察最后一个样例。

2024-02-07 11:29:07 478 1

原创 Codeforces Round 922 (Div. 2)(A-D)

从最高位往下进行枚举,但是如果a最高位是1,b为0,不要把这一位的数减掉,因为这样会使数变大,之后看到a某一位为1,b为0,通过异或的性质来把a变小,b变大这样总之会是最小的数。对于A,B两个数组来说如果条件满足,就交换这两个位置上的数,其实A,B数组同一位置实际上是绑定的,通过排序发现逆序对是最少的,偏向于思维。第一题思路很简单,摆物块,最少是2你会发现如果y是奇数最后放3*1,否则2*1,总之就是。对于如何最小,我们可以将大的数找出来,如果a

2024-01-31 22:10:39 654

原创 Codeforces Round 921 (Div. 2)(A-C)

这道题让你把x分成n份,那么对于答案来说肯定是x因子并且小于n并且它要成为所有数中最大的那一个,考虑到数最大1e8所以要枚举质数的话从sqrt或者i*i<=x来枚举,不然会超时。用set存储如果k个字符都出现过了那么清空,把当前放入最好,如果答案不够的话。将前k个字符打印n遍发现一定包含所有的字符所以直接打印。让你构造字符串并且使用前k个,我们可以使用贪心。哪一个没出现放哪个直到等于n。

2024-01-28 22:02:31 383 1

原创 Educational Codeforces Round 161 (Rated for Div. 2)(A-E)

A,B两个中如果有一个字符与C相同,并且长度是字符串长度,那么肯定不行,否则可以。n 根木棒,编号从 1 到 n。第 i 根木棒的长度是 2的a[i]次方。给出字符串A,B,C,如果要使T匹配A,B,不与C匹配,只需从i开始。所以必须有两个相等的数并且如果另一个比他大就不行,比他小就可以。大于3的话就是Cn中取三个或者取两个加上比他小的前面的数之和。分析一下,如果a,b,c,不等,那么长度必然不满足条件。发散思考如果是小写,则相同,大写,则不同。使用前后缀和处理每次只需要求减法即可。

2024-01-19 23:02:21 389 1

原创 Codeforces Round 919 (Div. 2) (A-C)

m要成为每个区间对应数的约数并且不为1,使a[i],a[i+1*k],a[i,i+2*k]相同。暴力枚举即可,对于条件12,可以用l,r记录保存,条件3用数组存储。首先要把滑动窗口内的值算出来,一边进,一边出,计算出总数。如果删除次数大于元素个数,那么答案肯定大于0,计算长度并去重即可。答案肯定大于等于0.如果最后还有次数没用,可以将窗口内的删除。用总数减去二倍滑动窗口内的值取最大值。a[i]%m a[j]%m相同的话。复杂度大概是nlogn*因子数目。排序+贪心+滑动窗口。

2024-01-14 13:07:33 622 1

原创 codeforces Hello 2024 (A-D)

3.否则的话,说明a[i]比两者都大,那么肯定是放在更小的后面,因为大的可能还能继续放。1.如果两者都大于等于a[i],那么更小的放a[i]可以保证浪费的更少。这道题乍眼一看像求递减子序列的但是如果是递减子序列的话,2.如果两者中有一者大于等于a[i],那么就放在他后面。两个数组的结尾元素是一大一小,与a[i]进行比较。思考一下,如果我们拿两个数组来存储分三种情况,所以不是动态规划,那么它其实就是一道。我们可以计算出时间复杂度为(n2)

2024-01-07 10:08:12 677 3

空空如也

空空如也

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

TA关注的人

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