04 2023 档案

该文被密码保护。
posted @ 2023-04-27 11:06 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-23 19:45 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-23 18:59 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
摘要:思路: 首先贪心出性质, 通过模拟这个题意,一定是先右边弄完在去左边弄, 或者左弄完去右边弄, 于是左右2边分别dp一次 然后求和 dp[i][j],表示i 和 j 匹配的时的 最小操作次数 转移的时候有一个贪心结论,当 si != tj 时, 这个贡献时一个固定值, 正向:首先i- (公共的), 阅读全文
posted @ 2023-04-20 16:20 VxiaohuanV 阅读(14) 评论(0) 推荐(0) 编辑
摘要:思路: 对于每一个bi都会有有一个范围, 然后贪心的做, 具体的 先对这个范围按照 左端点排序, 然后贪心的去最小的值去放 阅读全文
posted @ 2023-04-20 15:46 VxiaohuanV 阅读(14) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-18 22:25 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
摘要:vector<ull> B; void insert(ull x) { for (auto b : B) x = min(x, b ^ x); for (auto &b : B) b = min(b, b ^ x); if (x) B.push_back(x); } 构造代码 这样构造产生的性质: 阅读全文
posted @ 2023-04-18 18:54 VxiaohuanV 阅读(15) 评论(0) 推荐(0) 编辑
摘要:思路: 问xor起来有没有某个值, 想到线性基 然后发现问L-R区间的集合都要表示x, 利用线性基的交集解决 在利用线段树解决区间问题 #include <iostream> using namespace std; typedef unsigned int ui; const int maxn = 阅读全文
posted @ 2023-04-18 18:38 VxiaohuanV 阅读(91) 评论(0) 推荐(0) 编辑
摘要:思路: 问MEX,就要牢牢利用 MEX的性质 发现 0 这个位置 b是固定的, 然后在发现1这个位置又是固定的, L-R, 表示 0到1的位置范围 于是我们在考虑2这个位置, 当2在L-R的外面的时候, 也是固定的, L-R的范围拓展 当2在L-R里面的时候, 就可以随便选, 当然选过的就不能选(组 阅读全文
posted @ 2023-04-18 10:51 VxiaohuanV 阅读(13) 评论(0) 推荐(0) 编辑
摘要:思路: 看到数据范围: 发现可以用 0n^2的 时间复杂度 于是考虑DP ,具体的用区间DP, dp[i], 表示以ai作为目前的相等值且保留ai 的1-i里面的最大长度 暴力枚举每一个前面每一个aj 然后暴力删除 j-i 里面的值 性质: 当L-R的区间可以被删除 1 区间位偶数 2 众数的数量< 阅读全文
posted @ 2023-04-18 10:32 VxiaohuanV 阅读(21) 评论(0) 推荐(0) 编辑
摘要:思路: 一步一步的拆解分析 有一个min(al...r) 通过这个东西那么就可以 根据这个ai值分区间, 可以通过单调zhai处理 当然也可以去利用启发式合并处理, 在处理区间的时候, 因为这个有正负, 要分类讨论 正 就是最大 负数 就是最小 遇到区间包含某个值的区间最大最小 那么就利用前缀和+s 阅读全文
posted @ 2023-04-17 18:56 VxiaohuanV 阅读(23) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给定一个a,要求构造最少个数的3的倍数使得这些数的按位或和为a. 思路 : 3的倍数, 就要利用3的性质 所以在绝大数的情况下, 只需要2个数即可 考虑如何构造, 他给的是 | , 就牢牢利用|的性质, 2个数可以有重复位上的 1, 就先让2个数都等于 a ,然后在去删除对应多的位数 然 阅读全文
posted @ 2023-04-17 17:52 VxiaohuanV 阅读(65) 评论(0) 推荐(0) 编辑
摘要:思路 1 换根DP: 第一次dfs 预处理出每一个儿子树的 最长距离1 和次长距离2 第二次开始换根DP, 本点到其他 点的距离最长 : 分别考虑 一个是父亲上下来的点len3, 一个是兄弟节点, 就是父亲的最长距离len1或者 次长距离len2, 根本不用换根dp, 直接就是每一个点 的 最长+第 阅读全文
posted @ 2023-04-17 16:32 VxiaohuanV 阅读(35) 评论(0) 推荐(0) 编辑
摘要:本题大意:给出n,m,s,t,k,n个点,m条路,求s到t的最短路,并且最多k条路免费,然后给出m行,u,v,w,代表u到v有一条权值为w的双向路。 思路: 就是dj最短路 + 一个dp维度的处理, dp[i][j], 到第i个节点用了多少个免费的路径的最短路径 阅读全文
posted @ 2023-04-17 16:11 VxiaohuanV 阅读(21) 评论(0) 推荐(0) 编辑
摘要:思路 从右往左枚举 遇到2个00,就看左边前缀和相同的个数就ok了 有一些小细节要注意处理一下 阅读全文
posted @ 2023-04-17 16:08 VxiaohuanV 阅读(446) 评论(0) 推荐(0) 编辑
摘要:题解: 认真读题, 理解题目意思,然后提取关键性质 发现性质: 只要遇到 没有在b中出现的值, 都有余力可以去吧他往后面交换 , 然后在 -1的时候就有这么多的选择了 组合数而已, 用过这个数就-- #include<cstdio> #include<iostream> #define MAXN 2 阅读全文
posted @ 2023-04-17 10:24 VxiaohuanV 阅读(20) 评论(0) 推荐(0) 编辑
摘要:思路: 保存有用信息,删除多余信息, 每一次查询会给出 L,R内的所有数, 那么如何利用这个条件, -> 统计在 L,R 区间的数的个数 进一步发现, 只有位置不变的数会在这个区间内, 统计在 L,R 区间的数的个数才会奇数, 其他情况都是偶数 这里可以去分类讨论一下 因此以此来二分即可 阅读全文
posted @ 2023-04-17 09:30 VxiaohuanV 阅读(12) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-13 21:13 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
摘要:stl **序列式容器**:强调值的排序,序列式容器中的每个元素均有固定的位置。 **关联式容器**:二叉树结构,各元素之间没有严格的物理上的顺序关系 质变算法:是指运算过程中会更改区间内的元素的内容。例如拷贝,替换,删除等等 非质变算法:是指运算过程中不会更改区间内的元素内容,例如查找、计数、遍历 阅读全文
posted @ 2023-04-13 21:11 VxiaohuanV 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目大意:对一个序列,如果其任意子区间都有至少一个数只出现一次,那么则称这个序列为non-boring的,否则为boring 思路: 中 数 只出现一次, 极值对关于区间的点对问题,可以通过这个点把区间分成2个部分,分治解决 预处理每个数上一次出现的位置以及下一次出现的位置 对一个区间,如果有一个数 阅读全文
posted @ 2023-04-13 16:24 VxiaohuanV 阅读(20) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给出n堆石头, 给出每堆石头的数量, 问有多少对合法的 l,r 使得L,R 区间内的最大值的*2 < =区间总和 思路: 从最大值入手, ->为了方便处理 就利用分治 去 处理出当前的最大值要考虑区间范围是那些 首先通过st 表来预处理 出 l,r 的最大值的位置 分治 dfs(l,r) 阅读全文
posted @ 2023-04-13 16:14 VxiaohuanV 阅读(13) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-12 22:05 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
摘要:函数模板利用关键字 template template<typename T> * 使用函数模板有两种方式:自动类型推导、显示指定类型 * 模板的目的是为了提高复用性,将类型参数化 相当于自动推导函数函数参数的类型 阅读全文
posted @ 2023-04-12 21:56 VxiaohuanV 阅读(12) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给出一个矩阵, 和M ,找到一个最大的子矩阵,使得里面的最大值-最小值的差值小于 M 思路: 关键信息是最大和最小, 就保留这个信息即可 然后考虑如何枚举每一个矩阵? 枚举矩阵的上下边界, 然后在考虑矩阵的左右边界, 左右边界处理的时候, 这一列的最大最小值,可以通过枚举上下边界的时候线 阅读全文
posted @ 2023-04-12 18:05 VxiaohuanV 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-04-12 17:16 VxiaohuanV 阅读(20) 评论(0) 推荐(0) 编辑
摘要:空指针调用结构体中的成员函数 const 修饰成员函数,不能更改函数成员的值 友元, 让朋友可以访问本类的私有变量, * 全局函数做友元 * 类做友元 * 成员函数做友元 运算符重载:注意格式就ok 还有<< 这个输出时候的重载, 各种个样的函数重载,主要是为了方便,在主函数里面的实现 继承: 相当 阅读全文
posted @ 2023-04-11 22:22 VxiaohuanV 阅读(28) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-11 22:09 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-11 19:51 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
摘要:思路: 利用map+list暴力模拟就彳于了 unordered_map<string,list<>::iterator > mp #pragma GCC optimize(2) #include <bits/stdc++.h> using namespace std; #define IOS io 阅读全文
posted @ 2023-04-11 18:53 VxiaohuanV 阅读(14) 评论(0) 推荐(0) 编辑
摘要:题目大意:在平面直角坐标系中有偶数个点,求两个点使这两个点的连线两边点的数量相同且不经过任何一个点 点的坐标都为整数,且绝对值不大于1000 思路: 我们先对点按横坐标排序,找到中间的两个点,如果这两个点横坐标不同,可以在两点之间找一条平行于y轴的直线 如果相同的,因为点的纵坐标不大于1000,所以 阅读全文
posted @ 2023-04-11 18:27 VxiaohuanV 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-04-07 00:14 VxiaohuanV 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-04-06 23:43 VxiaohuanV 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-04-06 23:25 VxiaohuanV 阅读(9) 评论(0) 推荐(0) 编辑
摘要:思路: 去除无用信息, 贪心发现: 不论数列是怎样的一个排序, 当交换2个数的时候, 一定会有 r-l 的变化,这个变化不管是+1,还是-1, 转化为奇偶性的时候就可以全部当成+1就彳于了 阅读全文
posted @ 2023-04-06 22:55 VxiaohuanV 阅读(22) 评论(0) 推荐(0) 编辑
摘要:思路: 离目标越进吗,那个期望值越小,所以就 f=f1+f2+f3..... 阅读全文
posted @ 2023-04-06 22:36 VxiaohuanV 阅读(24) 评论(0) 推荐(0) 编辑
摘要:思路: 从时间复杂度入手, 就可以考虑暴力枚举每一种情况,然后利用数据结构去保存这些信息 如何保存捏? 自己想的是利用 map<bitset> 去做,真sb 直接利用双hash,转化为数值然后map存就彳于了, 记住hash 并不是只有字符串才用 ,01序列 甚至图上,或者其他很多抽象的东西要去转化 阅读全文
posted @ 2023-04-06 21:57 VxiaohuanV 阅读(28) 评论(0) 推荐(0) 编辑
摘要:// 需要先预处理出fact[],即阶乘 inline ll C(ll m, ll n, ll p) { return m < n ? 0 : fact[m] * inv(fact[n], p) % p * inv(fact[m - n], p) % p; } inline ll lucas(ll 阅读全文
posted @ 2023-04-06 21:34 VxiaohuanV 阅读(6) 评论(0) 推荐(0) 编辑
摘要:应用: 计算斜率问题, atan2(y,x); 方法1:利用atan2()函数按极角从小到大排序。 atan2(double y,double x) ,它的值域相应的也就是(-pai~180)了 bool cmp1(point a,point b) { if(atan2(a.y,a.x)!=atan 阅读全文
posted @ 2023-04-05 20:00 VxiaohuanV 阅读(38) 评论(0) 推荐(0) 编辑
摘要:题目大意: 释放一个45都的技能去尽可能消灭更多的敌人(在一个平面里面) 思路: 技能是无线长的, 于是抛弃无用信息, 只保留斜率即可 然后利用双指针,或者二分去做即可 阅读全文
posted @ 2023-04-05 19:37 VxiaohuanV 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给出一个序列P , n 个点 每次可以选择2个 相邻区间进行合并, 会产生一个贡献值,当然合并n-1就合并完了, 问在所有的情况下, 贡献和是多少 思路: 易错点: 这个所有情况, 你枚举的合并的那个先后顺序是有关系的!!! 因此直接去区间dp只能把各个合并的情况给弄出来,但是他的先后顺 阅读全文
posted @ 2023-04-05 17:49 VxiaohuanV 阅读(17) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给出一个树,然后m询问,3种操作 1 在节点u, 和fa[u] 在他们增加一个节点 2 删除一个节点, 把儿子接到父亲上 3 查询某个节点的深度 思路: 直接在线去处理增加和删除是很不好操作的 于是考虑离线把这个树建出来 然后每次修改只会的对儿子树造成影响, 这里可以用线段树,或者树状数 阅读全文
posted @ 2023-04-04 10:41 VxiaohuanV 阅读(19) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给出2个队列A,B 选 K 个 ai 和 在从里面选L个 bi 问权值最大时多少 思路: 排序预处理 有多个元素的时候, 对那个元素首先排序,以至于可以处理这个问题是很重要的 当不能一步直接贪心出来,可以 先贪部分,然后利用DP的思想慢慢加入点去更新即可 先对ai 排序, 然后选bi个最 阅读全文
posted @ 2023-04-04 09:58 VxiaohuanV 阅读(24) 评论(0) 推荐(0) 编辑
摘要:题目大意: 给出一个01矩阵, 给出q,p 分别表示 选一个点的权值,和选2个连在一起的点的权值 问如何让权值更大 注意 : 在Dinic 的时间复杂度对于二分图这种边权为1, 时间复杂度为 NsqrtN, 不是n^2 m 思路: 更具题目的条件限制,他的建边一定是2个矮在一起的 因此更具 (i+j 阅读全文
posted @ 2023-04-04 09:28 VxiaohuanV 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-04-03 21:49 VxiaohuanV 阅读(8) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2023-04-03 21:41 VxiaohuanV 阅读(11) 评论(0) 推荐(0) 编辑
摘要:M memory register A address register, @ 值 来给他赋值, 这个地址对应的是 M D register 计算结果的寄存器 重点就是这3个 然后 @地址 值; jump 跳转 阅读全文
posted @ 2023-04-03 16:59 VxiaohuanV 阅读(3) 评论(0) 推荐(0) 编辑
该文被密码保护。
posted @ 2023-04-03 00:31 VxiaohuanV 阅读(0) 评论(0) 推荐(0) 编辑
摘要:题目大意: 就是这个游戏,有6个音轨, 然后用单手操作,(5个手指头)最多只能操作5个音轨的内容, 给出每一个音轨的情况, 问, 最多可以拿多少分 思路: 利用扫描线, 在同一个时刻内,尽可能的拿多的分数->有多少拿多少,有6个->拿5个 因此就利用减法思维: 先把6个总的分拿到 - 6个音轨同时出 阅读全文
posted @ 2023-04-02 15:57 VxiaohuanV 阅读(223) 评论(0) 推荐(1) 编辑

阅读目录(Content)

此页目录为空

点击右上角即可分享
微信分享提示