自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 5.2日训练

1.abc_248C Dice Sum题意:给定数n,m,k,问n个不超过m的数相加,结果不超过k的方案数有多少这道题其实是比较明显的背包dp,但是因为对dp的不熟悉,结果硬是没有写出来,好失败。思路:将整数的长度作为dp的第一维,将k作为第二维,f[i][j]表示整数个数为i的时候可以达到j的方案个数;#include <iostream>#include <cstdio>#include <cstring>#include <map&

2022-05-05 16:50:27 286

原创 SPOJ QTREE4(树上查询)

您将获得一个树(一个无环无向连接图),其中包含N个节点,节点编号为1,2,3...,N。每个边都有一个分配给它的整数值(请注意,该值可以为负)。每个节点都有一种颜色,白色或黑色。我们将 dist(a, b) 定义为从节点 a 到节点 b 的路径上边值的总和。所有节点最初都是白色的。我们将要求您遵循以下表格的一些说明:C a:更改节点 a 的颜色(从黑色更改为白色或从白色更改为黑色) A:要求最大 dist(a, b),节点 a 和节点 b 都必须为白色(a 可以等于 b)。显然,只要有一个..

2022-04-29 16:52:54 351

原创 树上操作(边分治)

今天我们浅谈一下树上操作的边分治,首先我们要了解一下什么是边分治。边分治是指在给定的一个图中,找到一条边,将这条边删去,使得删去这条边后分成的两个图的大小尽可能相等。边分治和点分治所解决的问题基本上是相同的,但是基于边的分治只需要考虑两棵子树,所以设计算法更为简单。...

2022-04-29 16:46:19 694

原创 前缀和(树状数组)

当我们计算一个数组的前缀和时,我们直接从数组开头加到结尾,sum = a[0] + a[1] + ...+ a[n-1].sum = 0;for(int i = 0;i < n;i++) sum += a[i];但是我们要对数组进行修改,再查询前缀和的时候,需要重新加一遍,时间复杂度为O(n),当n很大的时候效率会变得很低,所以我们引入了树状数组,树状数组可以把查询和点更新都在O(logn)的时间内完成,那么树状数组是怎么实现的呢。树状数组顾名思义,就是用数组来模拟树形结构

2022-03-19 19:35:27 385

原创 pta整除光棍

https://pintia.cn/problem-sets/994805046380707840/problems/994805084284633088这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。..

2022-03-03 11:20:30 246

原创 数组分割+用sort实现逆序(lambda)

数组分割:for (int l = 1, r = 1; l <= n; l = r + 1, r = l){ while (r < n && (a[l]==a[r+1]) )++r; printf("[%d,%d] ",l ,r);}利用lambda实现sort逆序sort(a + 1, a + 1 + n, [](const int&A, const int&B) { return A > B;});.

2022-02-21 19:19:08 441

原创 初等数论-----乘法逆元

在取模运算中 有如下定理:注意:在加法运算中要注意最后结果可能为负数,所以要在最后加上要取模的数;上述定理只在乘法和加法中有效,在除法中一般是无效的所以在运算中引入了逆元运算在计算 a/b = x(mod p) 中 并不等于 (a%p) / (b%p) = x;但是在运算中可能数字比较大,必须将a取模 这时引入了逆元怎么实现呢 就是将除法转化为乘法 即 将a/b = a *(b的逆元) = x(mod p);这里需要注意的是 逆元并不是一定存在的 ,简单证明 、a/b..

2021-11-10 21:38:43 669

原创 Tire树

Tire树的适用范围:用于高效的存储和查找字符串集合的数据结构。、、一般用到Tire树的题目都是大写字母,或者都是小写字母或者都是数字的集合。例如 要存储一堆单词 如果每个单词占用一个字符串,会浪费很多空间。如果将这些单词按照 Tire树的结构存储会节省空间;将单词按照这种数据结构存储不仅会节省空间,还容易查找单词。Tire模板题:维护一个字符串集合,支持两种操作:I x向集合中插入一个字符串xx; Q x询问一个字符串在集合中出现了多少次。共有NN个操作...

2021-10-12 19:07:13 236

原创 Tire树(便于字符串的存储和查询)

典型例题维护一个字符串集合,支持两种操作:I x 向集合中插入一个字符串 xx; Q x 询问一个字符串在集合中出现了多少次。共有 NN 个操作,输入的字符串总长度不超过 105105,字符串仅包含小写英文字母。输入格式第一行包含整数 NN,表示操作数。接下来 NN 行,每行包含一个操作指令,指令为 I x 或 Q x 中的一种。输出格式对于每个询问指令 Q x,都要输出一个整数作为结果,表示 xx 在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗1041

2021-07-19 15:22:32 182

原创 滑动窗口(单调队列)

题目描述:给定一个大小为 n≤106n≤106 的数组。有一个大小为 kk 的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到 kk 个数字。每次滑动窗口向右移动一个位置。以下是一个例子:该数组为 [1 3 -1 -3 5 3 6 7],kk 为 33。窗口位置 最小值 最大值 [1 3 -1] -3 5 3 6 7 -1 3 1 [3 -1 -3] 5 3 6 7 -3 3 1 3 [-1 -3 5] 3 6 7

2021-07-18 15:43:35 279 1

原创 2021-05-20

HDU.1999(不可摸数)s(n)是正整数n的真因子之和,即小于n且整除n的因子和.例如s(12)=1+2+3+4+6=16.如果任何数m,s(m)都不等于n,则称n为不可摸数.Input包含多组数据,首先输入T,表示有T组数据.每组数据1行给出n(2<=n<=1000)是整数。Output如果n是不可摸数,输出yes,否则输出noSample Input3 2 5 8Sample Outputyes yes no解题思路:因为素数的s(n)是1,.

2021-05-20 19:32:28 92

原创 2021-05-18

HDU 2097题目:Sky从小喜欢奇特的东西,而且天生对数字特别敏感,一次偶然的机会,他发现了一个有趣的四位数2992,这个数,它的十进制数表示,其四位数字之和为2+9+9+2=22,它的十六进制数BB0,其四位数字之和也为22,同时它的十二进制数表示1894,其四位数字之和也为22,啊哈,真是巧啊。Sky非常喜欢这种四位数,由于他的发现,所以这里我们命名其为Sky数。但是要判断这样的数还是有点麻烦啊,那么现在请你帮忙来判断任何一个十进制的四位数,是不是Sky数吧。Input输入含有一.

2021-05-18 19:06:31 153 1

main.cc

main.cc

2022-09-17

空空如也

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

TA关注的人

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