随笔分类 - ACM
摘要:#include<iostream> #include<cmath> #include<algorithm> #include<cstring> #include<queue> using namespace std; typedef long long ll; const int NS=5e5+5
阅读全文
摘要:RMQ(Range Minimum/Maximum Query),即区间最值查询,是指这样一个问题:对于长度为n的数列A,回答若干次询问RMQ(i,j),返回数列A中下标在区间[i,j]中的最小/大值。 本文介绍一种比较高效的ST算法解决这个问题。ST(Sparse Table)算法可以在O(nlo
阅读全文
摘要:#include<bits/stdc++.h>typedef long long ll;using namespace std;ll n;ll lowbit(ll a){ return a&-a;}int tree[50000];void update(ll a,ll b){ while(a<=n)
阅读全文
摘要:大意: 矩阵二行二列相交四个点三个黑另一个自动黑 问最小权值涂全黑 我们将行与列分成一个二分图 i,j涂成黑色时 就连一条ij的边 我们发现,自动涂黑的操作并不改变整个图的连通性,所以只需要构造一棵最小生成树即可 复杂度为n^2(nlogn);
阅读全文
摘要:总结一下:x&(-x),当x为0时结果为0;x为奇数时,结果为1;x为偶数时,结果为x中2的最大次方的因子。. #include<bits/stdc++.h> #include<iostream> using namespace std; typedef long long ll; const in
阅读全文
摘要:int exgcd(int x, int y, int &a, int &b) { if (y == 0) { return a = 1, b = 0, x; } else { int g = exgcd(y, x % y, b, a); b -= x / y * a; return g; } }
阅读全文
摘要:前置知识 n阶多项式可以用n+1个点表示(可用线性代数证明) 所以 正常两个n阶多项式相乘 复杂度应该是o(N²) 而将多项式点化(值表达式) 即H(x)=G(x)*F(x) 只需要在G多项式与F多项式找到相对应的点2x+1个 然后相乘 便得到了H 复杂度为o(N) 现在的问题在于 我们如何将多项式
阅读全文
摘要:一种更有趣的数组方法 链接:https://ac.nowcoder.com/acm/contest/16416/D来源:牛客网 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 乌龟棋的棋盘是一行N 个格子,每个格子上一个分数(非负整数)。棋盘第1 格是唯一的起点,第N 格是终点,游戏要求玩家控制一
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/16416/C来源:牛客网从前,有 nnn 只萌萌的糖糖,他们分成了两组一起玩游戏。他们会排成一排,第 iii 只糖糖会随机得到一个能力值 bib_ibi。从第 iii 秒的时候,第 iii 只糖糖就可以消灭掉所有排在他
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/17085/A来源:牛客网给你两张n*m大小的扫雷图 问你可否在向下取整n*m/2的次数内 将两张扫雷图的数字和相等 首先我们发现,整张地图取反,数字的总和与之前相等,所以只要将地图B化成地图A或者地图A取反即可
阅读全文
摘要:二分图定义 类比函数 x集合和y集合互相联系 但x集合与y集合内部本身没有任何边 二分图匹配 在二分图的基础上 1对1或1对0连线 主要得考虑如何建图 匈牙利算法: 秉承着先选先改,没有条件创造条件也要选的思路 我们遍历每一个需要匹配的点 用一个find函数来寻找他能不能找到儿子 并用一个flag数
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/16806/D来源:牛客网无向图有n个点,从点1开始遍历,但是规定:按照每次“走两步”的方式来遍历整个图。可以发现按照每次走两步的方法,不一定能够遍历整个图,所以现在小sun想问你,最少加几条边,可以完整的遍历整个图。 1
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/16806/C来源:牛客网 一共有 n个数,第 i 个数是 xi xi 可以取 [li , ri] 中任意的一个值。 设 S=xi平方和 求s的种类数 如果是正常的背包 时间空间都会超 因为这是一个只存储01结果(能否构成
阅读全文
摘要:1 构造函数 bitset<size> name (string) size为数组大小 string为10字符串 默认前面补零(需要注意的是如果填入数字会将其转化为二进制形式)并且 size小于string(int)的时候 int取后size部分 string取前size部分 2 bitset可以直
阅读全文
摘要:链接:https://ac.nowcoder.com/acm/contest/16806/B来源:牛客网即可能存在金额x不能被该货币系统表示出。例如在货币系统n=3, a=[2,5,9]中,金额1,3就无法被表示出来。 两个货币系统(n,a)和(m,b)是等价的,当且仅当对于任意非负整数x,它要么均
阅读全文
摘要:1. 链接:https://ac.nowcoder.com/acm/contest/16806/A来源:牛客网 第一行包含一个正整数n,表示裁判的回答数(也是玩家的猜数次数)。 接下来n行,首先是猜的数,然后是一个空格,然后是一个符号。符号如果是“+”说明猜的数比答案大,“-”说明比答案小,“.”说
阅读全文

浙公网安备 33010602011771号