会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
5k-sync-closer
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
29
30
31
32
33
34
35
36
37
···
41
下一页
2021年12月9日
UVA12004 Bubble Sort 题解
摘要: 题意:给 $n$ 个数冒泡排序,求期望交换次数。 思路 这个题目可以转化为求 $n$ 个数的期望逆序对个数。 那么,$n$ 个数有 $C_n^2=\dfrac{n(n-1)}2$ 组数对, 又因为有这句话:虽然没什么影响 每个数不同,那么一对数就有 $\dfrac12$ 的几率是逆序对, 所以期望逆
阅读全文
posted @ 2021-12-09 11:31 Jijidawang
阅读(12)
评论(0)
推荐(0)
2021年12月7日
P6974 [NEERC2015]Adjustment Office 题解
摘要: 水思维题。 大意 有一个矩阵 $a$,$a_{ij}=i+j$。 两个操作,一个删一行,一个删一列。 删完之后剩下的行 / 列不会向上 / 左补齐。 每次操作后输出所有删掉的 $a_{ij}$ 的和。 思路 这种题一看就可以用各种神奇的数据结构来做, 然而我不会它是道橙题,没有必要。 我们分别分析操
阅读全文
posted @ 2021-12-07 19:21 Jijidawang
阅读(7)
评论(0)
推荐(0)
2021年10月29日
栈
摘要: 这是啥? 栈是一种数据结构,遵循先入后出(FILO)原则。 具体来说,可以把栈想象成一堆书。 如果要把一本书放进书堆里,就要把这本书放在这堆书的最上面。 如果要拿出书堆中的一本书,就要从这堆书的最上面拿出这本书。 代码怎么写? 手写栈用数组模拟即可,这里不再过多介绍。 如果要使用 STL 栈,需要
阅读全文
posted @ 2021-10-29 17:26 Jijidawang
阅读(67)
评论(12)
推荐(0)
线性表例题
摘要: 栈 普通栈 P1739 P1449 单调栈维护单调子序列 P2866 P2947 P5788
阅读全文
posted @ 2021-10-29 16:55 Jijidawang
阅读(9)
评论(0)
推荐(0)
2021年10月20日
CF1430E String Reversal
摘要: 可以想到一个结论:(不会证) 在原字符串中的相同字符,经过操作后相对位置不变。 思路 我们可以给 'a'-'z' 每个字符开个数组, 它们各自在目标字符串中的出现位置存到一个“桶”里。 然后再把这个“桶”对应到原字符串里,就会得到一个数组。 比如说,aabcba 这个字符串,它的目标字符串就是 ab
阅读全文
posted @ 2021-10-20 16:54 Jijidawang
阅读(10)
评论(0)
推荐(0)
2021年10月19日
T4bfs写法题解(略详细)
摘要: 看几个常见问题: Q1: 这题连状态都没有,怎么搜? A1: 从低位到高位一位一位地搜,把当前的数字当成状态。 Q2: $10^{10}$,质数怎么筛? A2: 先写个正常的筛: for(int i = 2;i <= 10000000;++i) {if(!np[i]) pri[cnt++] = i;
阅读全文
posted @ 2021-10-19 19:50 Jijidawang
阅读(12)
评论(0)
推荐(0)
T2建桶的另一种思路
摘要: 基本思路都是一样的:扫一遍桶,算 $\sum^{199}_{i=0} \sum^{a_i-1}_{j=1} j$ ($a$ 是桶) 我们知道, T2直接把数 $\bmod 200$ 扔进桶里是会 WA0pts 的(痛失100pts) 因为很明显如果 $i$ 是 $<200$ 的正数,那么 $i\bm
阅读全文
posted @ 2021-10-19 16:54 Jijidawang
阅读(6)
评论(0)
推荐(0)
2021年10月18日
SP13707 SHAHBG - SHAHBAG
摘要: 题意 一个数列,每次操作把一个位置改成 1, 每次操作后,求数列中有多少段连续的 1。 思路 分类讨论,考虑每次操作的位置的左右两边的数(只是两个数): 左右两边的数都是 0:...0 1 0... 这个位置单独构成一段,答案加一。 左右两边的数都是 1:...01...1 1 1...10...
阅读全文
posted @ 2021-10-18 20:44 Jijidawang
阅读(16)
评论(0)
推荐(0)
2021年10月17日
七题题解
摘要: A 科普 getline 在 OI 中,经常用 getline(cin, s) 读入一行(包含空格)到 s 中。 string::find 假如有两个叫 a,b 的 string。 那么 a.find(b) 返回 b 在 a 中第一次出现的位置的下标。 如果 b 没有在 a 中出现过,返回 -1。
阅读全文
posted @ 2021-10-17 16:02 Jijidawang
阅读(8)
评论(0)
推荐(0)
2021年10月14日
T3线段树方法
摘要: 前置知识:线段树求区间最大值 思路 先考虑暴力的做法: 开一个桶 $cnt$,记录当前区间内的值出现个数。 我们可以发现,每次区间移动后,不需要重新统计, 只需要把 $cnt[$新加入区间的值$]$++,$cnt[$退出区间的值$]$--即可。 询问时输出出现次数最多的值的个数,也就是 $cnt$
阅读全文
posted @ 2021-10-14 18:57 Jijidawang
阅读(14)
评论(0)
推荐(0)
上一页
1
···
29
30
31
32
33
34
35
36
37
···
41
下一页
公告