米奇妙妙屋
文章平均质量分 57
not for being perfect,but for being courageous
小鱼yn
简介
展开
-
CF #707 (Div. 2)C、D
https://codeforces.com/contest/1501C. Going Home题意:给定一个长度为n的序列,找到一组x,y,z,wx,y,z,wx,y,z,w,使ax+ay=ay+awa_x+a_y=a_y+a_wax+ay=ay+aw思路:注意数据范围4≤n≤2e54≤n≤2e54≤n≤2e51≤ai≤2.5e61≤a_i≤2.5e61≤ai≤2.5e6因为两个数的和不会超过5e6,所以我们可以枚举所有数对,存下每一个和值所对应的两个数的下标,当某个和值中下原创 2021-03-21 17:51:04 · 127 阅读 · 0 评论 -
CF gym102091 G.Communication(矩阵快速幂+biset/Floyd、并查集)
https://codeforces.com/gym/102091题意:有n个办公室,问重新划分后,一共有几个部门。部门划分原则:①若A和B在同一个部门,那么A可以给B发送消息,B也可以给A发送消息;②若A可以给B发送消息,B也可以给A发送消息,那么A和B在同一个部门里思路:先统计连通情况:若A可以给B发送消息,B也可以给A发送消息,那么在AB之间有一条双向边(可以由其他办公室转发)(因为只用看是否能到达,所以可以用bitset优化下矩阵快速幂),然后用并查集统计这个无向图连通块的个数。#includ原创 2021-03-19 13:44:40 · 220 阅读 · 0 评论 -
CF gym102832 F. Strange Memory(dsu on tree+二进制拆分)
https://vjudge.net/problem/Gym-102832F题意:给定n个结点,每个结点有一个权值ai,求下列值。思路:因为ai≠0,所以ai⊕aj≠ai或者aj,所以符合条件的i,j对的lca(i,j)不会是它们其中一个。当以一个点作为lca时,能产生贡献的i和j只能来自这个点的不同儿子子树。考虑以当前结点作为lca时,不同儿子子树对答案产生的贡献:我们需要记录这棵子树上每种权值 有 对应哪些下标值,因为是计算异或值和,这里可以进行二进制拆分,只记录权值相同时每一位上下标值为0或原创 2020-12-05 15:50:46 · 275 阅读 · 0 评论 -
C++ bitset 常用函数及运算符
C++ bitset——高端压位卡常题必备STL以下内容翻译自cplusplus.com,极大地锻炼了我的英语能力。bitset存储二进制数位。bitset就像一个bool类型的数组一样,但是有空间优化——bitset中的一个元素一般只占1 bit,相当于一个char元素所占空间的八分之一。bitset中的每个元素都能单独被访问,例如对于一个叫做foo的bitset,表达式foo[3]访问了它的第4个元素,就像数组一样。bitset有一个特性:整数类型和布尔数组都能转化成bitset。...转载 2020-11-25 20:51:10 · 1084 阅读 · 0 评论 -
CF gym102803 C. Cornelia Street(哈希)
https://codeforces.com/gym/102803/problem/C题意:串S (7≤|S|≤8×105)是由n个A,m个B,k个A和一个A的前缀a依次连接构成的,其中A≠B,|A|=|B|,n,m,k>0,0≤|a|<|A|。现已知串S,求A,B的长度解思路:从1开始枚举答案的长度,判断是否可行时间复杂度:n=8e5时,n∗∑i=1ni/nn*\sum\limits_{i=1}^ni/nn∗i=1∑ni/n =11335666.637241…#include <原创 2020-11-14 15:44:07 · 583 阅读 · 0 评论 -
Matrix Matcher(AC自动机/哈希、二维匹配)
题目链接:https://vjudge.net/problem/UVA-11019给定一个N×M矩阵,你的任务是找出一个X×Y模式的出现次数。思路:要匹配模式矩阵,我们可以将模式矩阵中的X个串放入tire树中。容易想到如果我们在矩阵中匹配模式串X[0],我们可以判断后面的X-1行是否匹配。但是如果我们匹配到了X[1]或者X[3],那么……如图...原创 2020-02-13 17:38:14 · 372 阅读 · 0 评论 -
SCU-4438-Censor(kmp/哈希+模拟栈)
题目链接:http://acm.scu.edu.cn/soj/problem.action?id=4438给出s1、s2,要你删除s2中出现的第一个s1,并将剩下的合并成一个新的串,再继续找,直到找不到s1,输出最后的串。///主要想记录一下模拟栈的使用(比赛的时候都没有想到它T_T,后面想用kmp里面的next数组优化下我的假算法,又不会写T_T)kmp+模拟栈KMP算法中,我们在主串中...原创 2020-02-01 21:25:22 · 496 阅读 · 0 评论 -
CF 863B Kayaking(暴力)
Vadim is really keen on travelling. Recently he heard about kayaking activity near his town and became very excited about it, so he joined a party of kayakers.Now the party is ready to start its jour...原创 2019-03-22 09:06:23 · 396 阅读 · 0 评论