好像复杂度来说不是正解……不加谜之优化(下叙)能被loj上的加强数据卡 #include <algorithm> #include <iostream> #include <cstdio> #include <vector> using namespace std; int n, m, ...
好像复杂度来说不是正解……不加谜之优化(下叙)能被loj上的加强数据卡 #include <algorithm> #include <iostream> #include <cstdio> #include <vector> using namespace std; int n, m, ...
题解: 我们有m=0的时候可以生成多少中串就能有几对,所以摸n的时候下标是0-n-1所以加一个1就行了,k=1,m!=0的时候先手组合不出想要的答案所以直接输,其他情况就是我们l个位置可以有k中选择,m个位置有k-1种选择,...
题目传送门 传送门 题目大意 (经典题还不知道题意?) ... 容易想到需要把未使用的餐巾和已经使用的餐巾分开。... 设$X_i$表示第$i$天已经的使用餐巾的点,设$Y_i$表示第$i$天还未使用的餐巾的点 ...
loj2472 Solution 感觉是一道很有意思的贪心题啊ovo(想了一万个假做法系列==) 比较直观的想法是,既然一个数\(i\)只会对应一个\(\lfloor\frac{i}{k}\rfloor\),那么这个不小于关系可以建成一棵树的样子,每个...
标签: 树状数组
算法标签:树状数组
题目链接:洛谷 P3313 / LOJ #2195 题意 一棵 nnn 个点的数,每个点有一个颜色 cic_ici 与权值 wiw_iwi,mmm 次操作: 修改某个点的权值; 修改某个点的颜色; 查询 xxx 到 yyy 的路径上,颜色为 cxc_xcx 的...
复习一下单位根反演: $[k|n]=\frac{1}{k} \sum_{i=0}^{k-1} w_{k}^{ni}$,即 $[n \% k=0]$ 最前面那个 $\frac{1}{k}$ 不要忘记,也不要写错!!! 当 $n$ 很大,$k$ 不大的时候可以预处理出来 $w_{k}^{i}$ 然后...
笛卡尔树好神奇啊! 我们考虑对白色区域维护以最大值为中点笛卡尔树,然后考虑怎么合并左右区间: 令 $f[h]$ 表示最高高度为 $h$ 的最大保留权和,v 表示当前笛卡尔树节点的权值. 考虑如何合并左右区间: ...
传送门 题解: 每条边的出现是在一定时间范围内的。 于是我们考虑以时间为下标建立线段树,同时维护可回退化并查集就行了。 所谓的可回退化,也可以理解为可以还原到原来的某个版本,我们不使用路径压缩,而是按照...
【LOJ#2687】Vim(动态规划) 题面 LOJ 题解 发现移动的路径一定是每次往后跳到下一个某个字符的位置,然后往回走若干步,删掉路径上的所有\(e\),然后继续执行这个操作。 这里稍微介绍一下线头\(dp\),大概是把转移...
很好写,拿下LOJ rk1。 复杂度 O(nlog2n)O(n\log^2n)O(nlog2n),分析方式类似全局平衡二叉树。 看了下AC代码,除了我和rk2,剩下的分治部分似乎都是普通二分而不是带权二分,可以卡到 O(nlog3n)O(n\log^3 n...
给你个数列,然后每次询问一个区间,要你在这里面找一个长度最大的子区间,使得这个子区间里面没有重复的数。
loj #2729. 「JOISC 2016 Day 1」俄罗斯套娃 先丢个官方题解:https://loj.ac/article/754 官方题解讲得比较详细 这题的关键其实就是把最小路径覆盖转换为最长不上升子序列 然后我们就可以先把询问和原来的点...
description sosusosu 虐爆 OI 之后成为了一名文化课选手。一天,他做作业碰到了一堆数列问题,每道题给出的数列都是以下形式: 给定一个下标从000开始,无限长的整数列ai{a_{i}}ai,i∈Ni \in Ni∈N ,已知a0,...
今天我们又做师兄出的比赛了! 我一道题都不会! 抱灵了! 要是这是CSP - Sday1难度我就赶紧退役滚回去搞课内吧 ...第一题就是期望题…… ...题外话:师兄出题时把输出的第一行去掉了,就是说我们在考试的时候并不需要...
木反 题。
Description 给出一个长度为n的序列a,要求资瓷 区间或,区间与和求区间最小值 n&lt;=5e5,ai&lt;2^31 Solution 让我们先来考虑一个暴力: 如果一次操作对某个区间的影响是一样的(即最小值还是那个数),...
Loj 2008 小凸想跑步 \(S(P,p_0,p_1)<S(P,p_i,p_{i+1})\) 这个约束条件对于 \(P_x,P_y\) 是线性的,即将面积用向量叉积表示,暴力拆开,可得到 \(aP_x+bP_y+c<0\) 的形式,表示了一个半平面,其他每条边都确定了一...
题面:https://loj.ac/problem/6038 题解 居然再原题重测(原题重错、新题爆错)的考场上切了一道LCT的题(对于我这种菜鸡来说这是新题) 一看就是维护森林中每棵树的直径 以为可以用倍增LCA来求两点距离,...
题目链接: [JOI 2019 Final]独特的城市 对于每个点,它的答案最大就是与它距离最远的点的距离。 而如果与它距离为$x$的点有大于等于两个,那么与它距离小于等于$x$的点都不会被计入答案。...
一、题目描述 样例 样例输入 5 10 2 6 6 1 1 2 1 4 1 2 5 10 2 1 3 2 2 3 1 2 2 8 1 2 3 7 1 4 4 10 2 1 2 1 4 5 6 2 3 4 样例输出 15 34 32 33 50 二、算法分析说明与代码编写指导 如果不了解树状数组,建议先...
#6342. 跳一跳 题目描述 现有一排方块,依次编号为1…n1\...方块111上有一个小人,已知当小人在方块iii上时,下一秒它会等概率地到方块iii(即不动),方块i+1i+1i+1,方块i+2i+2i+2……方块nnn上。......
1.loj6277 给出一个长为n的数列,以及n个操作,操作涉及区间加法,单点查值。 直接分块+tag即可 #include <bits/stdc++.h> #define ll long long #define IO ios::sync_with_stdio(false);cin.tie(0)...
ref #include <iostream> #include <cstring> #include <cstdio> using namespace std; typedef long long ll; int n, k, a[305], c[305]; ll w[305], dp[305][305][265], g[2];...int main(){...
题目链接:https://loj.ac/problem/6278 解题思路: 分块维护区间递增序列。 对于修改,边界暴力后修改两个边界的递增序列使其正确,完整块打标记 对于询问,边界暴力+块内二分 修改的复杂度 O(sqrt(N) + 2*...
题目链接: ... 区间dp: dp[i][j][0/1]表示关闭区间[i,j]的最低消耗,第三维表示当前是在i位置还是在j位置 ...举个例子:比如要计算dp[i][j][0](当前在i位置),那么可以由dp[i+1][j][0]转移过来或者由dp[i+1][j][1]...
Description 给定两个字符串,求出在两个字符串中各取出一个子串使得这两个子串相同的方案数。两个方案不同当且仅当这两个子串中有一个位置不同。 ...考虑建出一个串的SAM,让另一个串在上面跑。...
传送门 题解: 把每个点的 S−TS-TS−T 的图像画出来 fi(x)=−ix+Aif_i(x)=-ix+A_ifi(x)=−ix+Ai。很明显要问的就是允许走交点的情况下 iii 到达第 QiQ_iQi 的位置的最小横坐标是多少。 ...
代码】斜率优化DP+LOJ任务安排2。
https://loj.ac/problem/2764 题解 真的想不到二分...不看tag的话... 考虑二分答案转化为判定问题,那么问题就变成了能不能组合出x个JOI/IOI,考虑贪心判定,倒着做,统计I的个数cnt,已组OI的个数tot,以及JOI/IOI...