#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include <stdlib.h> #include <time.h> int main() { srand((int)time(NULL)); int luckyDay = rand() % 3 ...
tag:wqs二分 这个 \(k\) 长得一脸wqs二分的样子,实际上确实也是wqs二分。 如果给每个物品都加上一个 \(dlt\),那么 \(dlt\) 越大,选的数就越多。 所以就二分这个 \(dlt\) 了。 然后 dp 可以 \(O(n)\) 解决。 \(f[i]+a_i\to f[i+m] ...
转载
2021-07-13 15:08:00
85阅读
2评论
左边第一个实体键+音量-
原创
2022-05-26 17:03:46
56阅读
Description 有一棵点数为 N 的树,以点 1 为根,且树点有边权。然后有 M 个操作,分为三种:操作 1 :把某个节点 x 的点权增加 a 。操作 2 :把某个节点 x
原创
2022-11-10 01:11:25
56阅读
题意一个数列$A$,数的范围均在$[0, 2^N 1]$内,求一个$B$,使得新生成的数列$C$中逆序对最多($C_i = A_i xor B$),输出最多的逆序对。($|A|<=10^5$) 分析这种题当然要逐位考虑..考虑到二进制和xor,我们需要想到trie... 题解将数列插入到一棵tri...
原创
2021-08-11 10:24:01
70阅读
/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode() {} * ListNode(int val) { this.val = val; } * ListNode(int val, ListNode next) { this.val = val; this.next = next; } * }
原创
2021-08-28 17:12:43
186阅读
树剖。观察这样一个事实:一个子树上的区间一定是连续的。打lazy标记即可。
转载
2016-03-21 20:18:00
80阅读
2评论
题目背景 无 题目描述 数轴上有 n 只青蛙,分别编号为 1 到 n。青蛙 i 的初始位置的坐标为 xi。 它们准备进行如下形式的移动:每轮包括 m 次跳跃,第 i 次跳跃由青蛙 ai(1 < ai < n) 执行。青蛙 ai 会从青蛙 ai − 1 和青蛙 ai + 1 中等概率地选一 只,假设选
转载
2018-02-26 18:51:00
109阅读
2评论
T1,T3我就不说啦,反正也不会。主要想讲的是T2. T2用了一个神奇的算法:折半搜索。 因为这个坑爹的数据范围告诉我们暴搜或是状压会TLE,而一半刚好能卡过去。 折半搜索其实跟暴搜没什么区别,就是折了半(废话)。拿这道题为例,暴搜就是在长度为2n的序列中找出所有长度为n的序列不妨设为s1, 那么剩
原创
2021-05-29 19:04:32
80阅读
为什么其他人都是插值套插值啊,,,,就我是XJB做的吗2333 k次多项式的前缀和可以表示成k+1次多项式,用两次这个玩意就可以发现g可以表示成一个k+2次多项式。 然后我的做法是把g用拉格朗日插值+暴力多项式乘法乘出来,通过其他方法合并g(a),g(a+d),,,,,g(a+nd)。 假设我们现在
转载
2018-03-17 15:53:00
139阅读
2评论
2 树 2.1 题目描述 给一棵n 个节点的树,节点分别编号为0 到n - 1。你可以通过如下的操作来修改这棵树:首先先删去树上的一条边,此时树会分裂为两个连通块,然后在两个连通块之间加上一条新的边使得它们变成一棵新的树。问有多少棵n 个节点的树可以通过对原树进行不超过k 次这样的操作来得到,答案对
转载
2018-03-05 09:46:00
173阅读
2评论
轰炸(bomb)【题目描述】有n座城市,城市之间建立了m条有向的地下通道。你需要发起若干轮轰炸,每轮可以轰炸任意多个城市。但每次轰炸的城市中,不能存在两个不同的城市i,j满足可以通过地道从城市i到达城市j。你需要求出最少需要多少轮可以对每座城市都进行至少一次轰炸。【输入数据】第一行两个整数n,m。接
转载
2018-03-06 14:35:00
398阅读
2评论
2.1 Description 在平面上找 n 个点, 要求这 n 个点离原点的距离分别为 r1, r2, ..., rn. 最大化这 n 个点构成的凸包面积, 凸包上的点的顺序任意. 2.2 Input Format 第一行一个整数 n. 接下来一行 n 个整数依次表示 ri . 2.3 Outp
转载
2018-03-26 19:18:00
99阅读
2评论
Seg 【问题描述】数轴上有n条线段,第i条线段的左端点是a[i],右端点是b[i]。Bob发现1~2n共2n个整数点,每个点都是某条线段的端点。这些线段有如下两类特点:1 x y,表示第x条线段和第y条线段相交(相交在这里指至少有一个公共点)2 x y,表示第x条线段在第y条线段的左边,且它们不相
转载
2018-03-05 11:31:00
72阅读
2评论
https://www.luogu.org/blog/a23333/post-xing-xuan-mu-ni-sai-path-ji-wang-zui-duan-lu 如果设f[i]表示从i到n的期望 那么转移方程比较好列。 但是取min的环形转移? 反过来想, 如果我们知道了f[x]的大小关系,
转载
2018-12-25 19:02:00
104阅读
2评论
非常nice的一道行列式的题目。 考虑如果没有路径不相交这个限制的话,那么这个题就是一个行列式:设 a[i][j] 为从编号第i小的源点到编号第j小的汇点的路径条数,那么矩阵a[][]的行列式就是的答案,因为行列式的定义就是给行一个列的排列,贡献就是所有a[i][p[i]]再乘上 (-1)^(p[]
转载
2018-05-27 20:40:00
107阅读
从物理的角度,要理解这几个概念的区别,需要对原子核的磁化有所了解,本文通过一些图示对这几个概念进行简明的介绍。 从物理的角度,要理解这几个概念的区别,需要对原子核的磁化有所了解,本文通过一些图示对这几个概念进行简明的介绍。
原创
2021-07-16 17:30:51
2954阅读
题意给两个树,大小分别为n和m,现在两棵树各选一些点(包括1),使得这棵树以1号点为根同构(同构就是每个点的孩子数目相同),求最大的同构树。(n, m<=500) 分析我们从两棵树中各取出一个点,考虑以这两个点为根能得到的最大同构数。 题解容易得到:设$d(i, j)$表示第一棵树选$i$号点,第...
原创
2021-08-11 10:34:54
107阅读
题目题目描述小 D 在玩一款角色扮演游戏,通过前期的打怪,他现在得到了 kk 个不同的装备。众所周知,角色扮演游戏中常常有复杂的人物属性,在这款游戏中,小 D 一共有 nn 种不同的属性,而每件装备都会都对这 nn 种属性有不同buff效果。今天,小 D 走到一家铁匠铺里去合成装备。他每次可以将两个装备合成一个标号为 m+1m+1(mm 为当前装备个数)的新装备(原来的两个装备不会消失),但是由于小 D 锻造技术不高,所以合成有可能成功也有可能失败。如果合成成功,他会得到一个新装备,而新装备的各项属
原创
2021-07-13 11:25:15
144阅读
题目题目描述读入一个字符串 SS, 问该字符串有多少对子串 u,vu,v, uu 和 vv 都是回文串且出现位置相交.答案对 998244353 取模.输入格式输入只有一行, 包括一个字符串 SS, 仅包含小写字符.输出格式输出只有一个整数, 表示答案对 998244353 取模后的值.样例 1输入babb输出6说明在样例中, 回文子串有 S[1,1],S[2,2],S...
原创
2021-07-13 14:48:30
137阅读