自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CSUST - 2022算法测试

CSUST - 2022算法测试A、useB、小精灵爱打工C、迷宫问题D、算数E、树上问题F、走出迷宫G、安排课程 A、use 首先要分析复杂度题目中 nnn 是 10510^5105 ,O(n2)O(n^2)O(n2)是会TLETLETLE的! 题目求 a[i]+a[j]>b[i]+b[j]a[i]+a[j]>b[i]+b[j]a[i]+a[j]>b[i]+b[j] (i<j)(i<j)(i<j)的对数 这种给定式子的题目,一般来说先要将相同下标放在一起,方便寻找思路。

2022-01-03 19:59:37 525

原创 CSUST 2021银川选拔赛

CSUST 银川选拔赛A、查询区间众数出现次数B、PC玩游戏C、PC买礼物D、gameE、medianF、重建网络G、最大得分H、PC要出题 良心场,除了pc一直在拖 A、查询区间众数出现次数 莫队的板子题,不多赘述。(题名直接百度) B、PC玩游戏 解法一:二分答案,找到临界态 解法二:set容器,把每次查询当成一次插入操作,维护可以存放的玩偶数量,找到临界态 C、PC买礼物 树上dp dp[i][j]dp[i][j]dp[i][j] 表示在第iii间店,花了jjj元钱的方案数 设有(u,v)(u,v

2021-04-27 18:34:27 871 9

原创 整除分块思路

求解 ∑i=1N[Ni]\sum_{i=1}^N [\frac{N}{i}]∑i=1N​[iN​] 一般思路 O(N) 求解 但用分块可以达到 O(N\sqrt{N}N​) 复杂度 理解 : 为了避免每个 i 都计算一次,我们需要分块 (i 不同时,有 kkk 个 [Ni][\frac{N}{i}][iN​]仍然相同,将他们分为一块,贡献即为 k∗[Ni]k*[\frac{N}{i}]k∗[iN​]) 那么问题关键就是 : 每一块的 [Ni][\frac{N}{i}][iN​] 系数 k 是多少呢 举个栗子

2020-08-01 21:03:41 215 1

原创 Codeforces Round #659 (Div. 2) (A、B1、B2、C 题题解)

B1 与 B2 思路不同 A. Common Prefixes 链接 : A. Common Prefixes 题意 : (多组输入) 给定长度为 n 的数组 a,输出 n + 1 个字符串 s. 让 si 与 si+1 的 最长公共前缀长度 为 ai. 数据范围 : n⊂[1,100]n \subset[1,100]n⊂[1,100],ai⊂[0,50]a_i \subset[0,50]ai​⊂[0,50] 思路 : 注意到题目中 ai 范围[0,50],si 长度范围[1,200],说明可以先将 s.

2020-07-25 12:46:03 147

原创 Codeforces Round #658 (Div. 2) (C1、C2)

C、Prefix Flip 两题题意相同,变化在 n 的取值范围 (可以直接看C2部分) C1、Easy Version(代码与 C2 不同) 题意 : (多组输入)(n <= 1000) 给你两个长度为 n 的01字符串 s1 与 s2 选中 s1 任意长度的前缀,将他们01转换,再转置这个前缀,最多可进行 3n 次上述操作,让其变成 s2 (如: 01一次操作后仍是01) 问题 : 求操作次数 (不要求最少) 和 每次选择的前缀长度 (每组输出为一行,第一个为操作次数 后面为前缀长度) 样例 :

2020-07-22 15:16:47 143

原创 Codeforces Round #656 (Div. 3) (C、D题)

C. Make It Good 题意 : (多组输入) 给定 长度为 n 的 数组a,可以将其前x个元素删除(从头删起),得到一个新数组b 然后每次都选择拿新数组b的 首或尾 一个元素 放入新数组c 必须满足 数组c是非递减数组 问题 : 求x的最小值(最少删除的元素个数) 思路 : b数组 只要保证从一个元素开始 向两边单调递减(在这定义为 峰 ) 又因为 a数组 的删除是从头开始的 我们只需要从尾开始跑 a数组 找到 最长的峰的左边界 pos (此处 峰的右边界必须是n) pos 之前的元素都是要删除

2020-07-19 11:50:16 115

原创 Educational Codeforces Round 91 (Rated for Div. 2) (C、D)

C. Create The Teams - 贪心 题意 : (多组输入) 将n个人分组 每组要满足 : 组员数 * 组内最小能力值 >= x 问题 : 求最多分成几组 思路 : 先对n个人以能力值排序,再从大到小取出。 若 累计组员数 * 目前取出值 >= x,则分为一组 (保证让尽可能少的人分为一组) AC代码 : #include <algorithm> #include <cmath> #include <cstdio> #include <cst

2020-07-14 14:37:55 376

原创 算法模板

1. KMP 原理 : 获得 前缀和后缀 相同的长度 用数组保存 作用 : 求 文本串 中 模板串 的位置(没有则返回-1) s[] 为文本串 p[] 为模板串 next[] 为前后缀相同长度 代码 : char s[MAX],p[MAX]; int next[MAX] void getnext(char p[]) { int i = 0,j = -1,l = strlen(p); next[0] = -1; while(i < l - 1)

2020-07-13 21:01:56 208

空空如也

空空如也

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

TA关注的人

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