憨憨的竹林
憨憨的竹林
全部文章
分类
题解(23)
归档
标签
去牛客网
登录
/
注册
憨憨的竹林的博客
全部文章
(共44篇)
题解 | #嘤嘤不想求异或喵#(C++)
这题是一个经典小 trick 嗷 设 时 时 时 时 所以 内所有整数的异或和 代码如下: #include <bits/stdc++.h> using namespace std; #define endl '\n' #define debug(x) cerr &...
2026-05-29
10
26
题解 | #牛牛走迷宫#(C++)
这题简单捏,写一个 bfs 就好啦 可以写一个结构体来维护当前的步数,坐标,以及操作指令 为了让字典序最小,可以以 D、L、R、U 的顺序去遍历,这样能够保证走出的最短路一定字典序最小 代码如下: #include <bits/stdc++.h> using namespace std;...
2026-05-23
2
21
题解 | #小苯的xor图#(C++)
由于异或运算按位独立,我们可以用一个经典的trick:拆位 计算该位上的贡献,再把每一位的贡献加起来,得到答案。 对于第 i 位(i = 0 ~ 30),我们只关心每个顶点的这一位是 0 还是 1。 用 a[j] = (v[j] >> i) & 1 取出顶点 j 的第 i 位...
C++
数学
计数
枚举
拆位
2026-05-08
1
37
题解 | #操作数组#(C++)
很简单的题目呀 首先我们要保证两个数组的元素之和是相等的,否则移来移去也只是在做无用功。 确保这个前提之后,我们每次操作都同时选中一个 与一个 去进行操作即可,所以最后操作数量实际上就是 了 代码如下: #include <bits/stdc++.h> using namespac...
2026-05-04
4
33
题解 | #前缀平方和序列#(C++)
好久没写题解了,这题简单就随手水一下好了 当 固定的时候,其实 就也固定了,所以考虑有多少种前缀平方序列 ,其实就是在考虑有多少种序列 ,而序列 长度为 ,而由于 ,所以满足条件的可选 最多有 个,所以此时就有了 种挑选数字的方案,而又由于题目要求 都是正整数,且有 ,所以序...
2026-05-03
10
36
题解 | #小苯的排列构造#(C++)
这是一道通过贪心进行构造的题目来着,写完以后呃呃呃其实我不是很会分析这题的复杂度来着,所以准备贴一下朋友让 gemini 帮忙分析的复杂度 先看思路吧: 用一个数组 来存储一个数在不超过 的情况下,最多有几个数是它的整倍数 用一个数组 来存储一个 内的数是否已经在构造中被使用 随后我们来检查...
贪心
2026-04-26
6
89
题解 | #小红的部分不同字符串#(C++)
这题感觉主要难点有两个,一个是用拓扑排序去把环剥离出来(应该也能用 dfs 去跑一下,如果一个点你第二次遇见,说明成环了),一个是环的染色数量统计,看了眼其他题解里没有环染色数量公式的推导来着,蒟蒻的我就发个完整证明好了: 考虑环染色本身是不大可做的,所以我们考虑从链去推。 假设有一条 个结点的链...
C++
数学
设计
拓扑排序
并查集
图
2026-04-13
6
60
题解 | #绿豆蛙的归宿#(C++)
其实这题跑个dfs就好了,蒟蒻的我看大佬们好多都是期望dp什么的,感觉自己还不会来着 先要明白一个事情,假设你在第一个点的出边数是 k1 ,继续往下走,走到第 2 个点,它的出边数是 k2 ,就这样一直往下走,那么一直走到第 n 个点,那么从第一个点到第 n 个点的概率,就是 1 / (k1 *...
2026-04-09
8
71
题解 | #抽卡#(C++)
这题其实挺简单的来着,前提是你掌握了前置知识 至少抽到一张自己想要的卡,等于1-每个卡池都抽不到自己想要的卡的概率 所以最后的答案就是[累乘a[i] - 累乘(a[i] - b[i])] / 累乘a[i],然后除法部分用费马小定理求个逆元就好了(正好模数是质数) #include <bits/...
2026-04-08
7
63
题解 | #小苯的对称序列#(C++)
在题解里我会放两版代码,可以看一下我最后卡常卡过去做出的一些优化 先讲题目本身好了 两数之和 s 最小是2(2个1),最大是2000(2个1000),数不是特别大,我们可以枚举它 我们枚举每一个可能的 s,分别求出在 固定和等于 s 的条件下,能够选出的最长对称子序列的长度,最后取所有 s 中的最大...
C++
动态规划
2026-04-06
3
136
首页
上一页
1
2
3
4
5
下一页
末页