Backpack 我不打 但我能补题。 明显设\(f_j\)表示容量为j的背包的异或的最大值。但是这样的状态难以进行转移。 考虑设\(f_{j,k}\)表示容量为j异或为k是否可行。 这样状态数为\(2^20\) 但是枚举物品更新达到了\(2^30\) 明显贪心在这个背包类型问题难以解决。考虑优化这个dp。 至少
题目大意是给定一棵树,每个节点有个权值。 之后在树上找到3个点,使他们两两之间相等,并且两两之间权值不同。 问三元组的个数 首先因为是一棵树,所以我们可以通过广搜得到两两节点之间的距离。时间复杂度是O(\(n^2\)) 接下来很容易想到直接找到两个权值不同的点(a, b),然后得出a b之间
1.队列queue queue是STL中实现“先进先出”的一个容器。 使用queue。必须加#include<queue>及using namespace std; queue<typename> name; 常用函数: (1) push() :将x入队,时间复杂度为O(1)。 (2) front()和back() :它们分别用来获得队首元素和队
目录牛客多校contest 1杭电多校contest 1 牛客多校 contest 1 可做题 \(A\), \(C\), \(D\), \(G\), \(H\), \(I\), \(J\) 已做 \(A\), \(D\), \(G\), \(I\), \(A\):区间合并模板 \(C\): \(D\):平几推导 \(G\):签到 \(H\): \(I\):概率dp 令 \(f_{i, j}\) 为 还剩余i张牌且还差几张牌凑成
CF1705E Mark and Professor Koro 解题思路 我们可以知道,这里面可能会发生连锁反应,每次我们加入一个数字,就可能会导致前面一整条“链”不断合并,最后成为一个数。 比如说,我们现在有 \(x,x+1,x+2,\dots,y\),我们再加入一个 \(x\),我们这一串数字就会消失,化为一个数 \(y+1\)。 这个过程
首先有一个结论,对于 \(m\) 个互不相同的模式串 \(t_i\) ,他们在文本串 \(s\) 中的出现次数之和(即 endpos 大小之和)是 \(O(|s|\sqrt {\sum |t_i|})\) 的。 证明考虑把模式串按长度分类,那么对于长度为 \(l_i\) 的一些模式串,他们在 \(s\) 中出现的次数之和至多是 \(n-l_i+1\) 。由于
前言 没错今天又来更一道比较靠后的题。 不过这题其实挺水,真不明白为什么放第7个。 题意 有一个图,你需要统计这个图中,以某些节点为顶点的三角形有多少个。 (好简短的题意啊) 思路 Level 1 从暴力枚举入手。 枚举三个节点,看他们是不是相互连接。 可是,暴力是 $ O(n^3) $ 的,这……咋办?
题意 有一个\(N\)个点的无向无权图\(G\),给定其邻接矩阵\(A\)。 找到满足\(1 \leq i < j < k \leq N\),并且点\(i\)与点\(j\)有边,点\(j\)与点\(k\)有边,点\(k\)与点\(i\)有边的三元组\((i, j, k)\)的数量 题目链接:https://atcoder.jp/contests/abc258/tasks/abc258_g 数据范围 \(3 \l
链接:https://ac.nowcoder.com/acm/contest/24213/1022来源:牛客网 题目描述 Listening to the music is relax, but for obsessive(强迫症), it may be unbearable. HH is an obsessive, he only start to listen to music at 12:00:00, and he will n
转载博客: https://blog.csdn.net/weixin_45697774/article/details/105563993?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-105563993-blog-106273675.pc_relevant_multi_platform_whitelistv1&spm=1001.2101.3001.4242
G - Triangle 题意:给定一个邻接矩阵,问有多少个三元组(x, y, z)满足两两顶点之间有一条边直接相连。 该题使用bitset可以快速解决。 首先预处理 bitset b[i], b[i][j] = 1表示有边,否则无边。 然后选中两个点(x, y),且(x, y)之间有边。 b[x] & b[y] 为一个新的bitset,当bitset[z] 表示
赛前 乱翻题库发现了亿点点题 然后写了Splay 表示对Splay维护区间不太明白 还没有讲的很透彻的文章只能自己想 然后回班简单扫了下楼道 然后就没有然后了 赛时 7.50开题 照例把所有题看了一遍 然后感觉今天难度好像没那么大 T1小模拟一看就很送分 然后连写带调带各种情况测试 调调
MSVC 64bit: Compile error C2666 when using std::bitset with QtCore 添加宏:QT_NO_FLOAT16_OPERATORS 参考:[QTBUG-72073] [REG 5.11->5.12] MSVC 64bit: Compile error C2666 when using std::bitset with QtCore - Qt Bug Tracker
\(\cal T_1\) \(\mathbb{D}\rm escription\) \(\mathbb{S}\rm olution\) $\mathbb{C}\rm ode $ \(\cal T_2\) 基因切割 \(\mathbb{D}\rm escription\) \(\mathbf{namespace\_std}\) 乘坐戴夫的时光机器穿越回了现代,成为了⼀名医学生。 这天,医院新进了一些 \(\rm dna\) 切
https://blog.csdn.net/qll125596718/article/details/6901935?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165102018316781685312932%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=165102018316781685312932&biz_id=0
事实上,这道题并不需要拓扑排序。(当然,拓扑排序还是更快) 题目分析 首先,题目中说了,这是一个有向无环图,所以,我们可以考虑 \(\texttt{DP}\) / 记搜 / 拓扑排序 来解决这道题。 (我的做法是记忆化搜索。 雷区分析 刚开始我用 \(f[i]\) 表示从 \(i\) 出发能够到达的点的个数,利用记忆
前言 被 \(\texttt{p}\color{red}{\texttt{eterwuyihong}}\) 和 \(\texttt{m}\color{red}{\texttt{yee}}\) 抓来打牛客。 小卡常小清新小原题场,出题人差不多得了。 \(\texttt{Rating Change:}{\color{green}{1578}} \to {\color{green}{1719}}\) \(\Delta={\color{green}{\texttt{
题面 传送门 给定一个长度为 \(N\) 的序列 \(a\) 以及 \(M\) 次询问,每次询问为三个区间 \([l_1,r_1],[l_2,r_2],[l_3,r_3]\)。把三个区间中同时出现的数一个一个删掉,问最后三个区间剩下的数的个数和。 注意这里删掉指的是一个一个删,不是把等于这个值的数直接删完,比如三个区间是 \(
一 前记 freetos在可穿戴设备上应用十分广泛,用来实现基本的按键和led控制,来熟悉它的基本架构。这是一个不错的尝试。 二 源码分析 1 系统初始化 这个启动task,相当于系统的入口函数,这里的setup_task承担着这个task的工作。 xTaskCreate(setup_task, "Setup", 512
提高组 上午 8 点左右就到了机房,等开始的时候划水…… 开题,先看 T1。CCF 的题目一般都很简洁,这次也不例外,很快明白了题意,但是没有很好的思路,就继续看题。 T2 很快有 \(O(n^3)\) 的想法,用 bitset 优化一下可以做到 \(O(n^2 \omega)\),大概能拿 30~40 的样子。 再看 T3,就一条式子,数论
题目链接:https://www.luogu.com.cn/problem/P4306 传递闭包 bitset 模板题。 需要注意的是 \(i = j\) 时需将 \(g_{i,i}\) 标记为 \(1\) 。 示例程序: #include <bits/stdc++.h> using namespace std; const int maxn = 2020; int n, ans; char s[maxn]; bitset<maxn> g[maxn]; in
import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; import javax.swing.border.LineBorder; import java.util.*; //线程就是一个单独的资源类 publ
⭐️寒假新坑——代码之狐的每日做题笔记 ⭐️解题思路 按下标奇偶分组保存,分别排序处理获取每一位数字,排序,根据正负分类处理(负数要求重排后的正数最大,正数要求最小且没有前导零)难点是考虑优化反转操作——保存一个反转数组,反转操作不用重新处理每一位,只是将反转数组和当前数
给你一棵 \(n\) 个节点且带点权的树,\(m\) 个询问,每个询问给你多条链,请你输出这几条链的点的集合并的颜色数和 mex。 强制在线。 \(1\leq n \leq 10^5,1\leq m\leq 3 \times 10^4\)。 sol 首先如果不强制在线,用树上莫队即可。 但多了个强制在线,容易想到是预处理题。 查询链颜色数,比
#include<bits/stdc++.h> using namespace std; int main() { string s; cin >> s; int ans = 0; for(int i = 0; i < 26; i++){//暴力枚举 bitset<32> bits;//记录 A - Z 是否出现 for(char c : s){ bits[c -