Codeforces Round #681 D 大意 给定一个长度为n的序列,每次可以将$A_1,...,A_k$或者$A_m,...,A_n$中的数减一,其中$k,m$是自己选择的数。 问,是否能通过任意次操作,让数列每一项都为0。 思路 可以证明,如果一种情况为可行解,当且仅当可以通过任意操作将 ...
分类:
其他好文 时间:
2020-11-07 16:50:50
阅读次数:
24
1. HDU1166 敌兵布阵 题目链接 题意:单点更新+区间查询(求和)。 树状数组 (218ms) #include <iostream> #include <cstdio> #include <algorithm> #include <cstring> #include <cmath> usi ...
分类:
其他好文 时间:
2020-11-01 21:18:27
阅读次数:
19
性质题好评。 对于这类题目,我们肯定要先计算出题目中给出的 \(f(x)=\max\limits_{i=1}^ndist(x,i)\)。这个东西可以通过换根 \(\text{DP}\) 在 \(O(n)\) 的时间内计算出来。 选出 \(f_x\) 最小的,以它为根,记作 \(u\)。这棵树的父亲的 ...
分类:
其他好文 时间:
2020-10-18 10:11:23
阅读次数:
19
关于 fill 和fill_n函数是C++ Primer第十二章泛型算法部分内容,并把它们称为生成和变异算法,也就是说这两个函数只能对输入范围内已存在的元素进行操作。如果试图对空容器进行fill_n操作,会导致严重的运行错误,所以在对元素进行写入操作时要检查目标的大小是否足以存储要写入的元素。 fi ...
分类:
编程语言 时间:
2020-10-16 10:46:52
阅读次数:
20
解法一 : #include <iostream> #include <cstdio> #include <algorithm> #include <string.h> using namespace std; char a[1000]; char b[1000]; void fun(char a[ ...
分类:
其他好文 时间:
2020-10-10 17:57:36
阅读次数:
27
题目 有两个序列长$n$为$A_i$,\(B_i\),需要进行两种操作,共进行$q$次 \(查询区间 \sum_{l\leq i<j\leq r}{(A_iB_j - A_jB_i)}的值,结果对 998244353 取模\) \(把 (A_i , B_i) 修改为 (x,y)\) 对于$20 %$ ...
分类:
其他好文 时间:
2020-10-07 21:39:36
阅读次数:
32
题目链接 Solution 对每个节点维护一个权值线段树,线段树上就维护最大值以及最大值出现的节点。利用树上查分的思想,在 \(x\),\(y\) 位置 \(+1\),在 \(LCA(x, y)\) 位置 \(-1\),\(fa_{LCA(x, y)}\) 位置 \(-1\)。 更新完后不断把线段树 ...
分类:
其他好文 时间:
2020-10-06 20:09:52
阅读次数:
28
参考:https://labuladong.gitbook.io/algo/dong-tai-gui-hua-xi-lie/dong-tai-gui-hua-zhi-bo-yi-wen-ti 问题: 给定一堆石子的得分。A和B两个人进行如下游戏, 轮流,从石堆的两边选择一个石子,最终获得得分最大的人 ...
分类:
其他好文 时间:
2020-09-17 20:37:47
阅读次数:
21
题目链接 点我呀 翻译 你在位置 $1$,然后想要到位置 \(n\),每个位置都有一个高度 \(h[i]\), 你可以从位置 \(i\) 跳到位置 \(j\), 当且仅当以下情况之一满足: \(i + 1 = j\) \(min(h[i],h[j]) > max(h[i+1..j-1])\) 即 \ ...
分类:
其他好文 时间:
2020-09-17 20:00:29
阅读次数:
22
链接Miku dfs就行了 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace std; int head[100001]; int p; int n; int m; in ...
分类:
其他好文 时间:
2020-09-17 15:43:29
阅读次数:
24