首页 > 其他分享 >Codeforces Round 906 (Div. 2) Doremy's Drying Plan E1.&E2

Codeforces Round 906 (Div. 2) Doremy's Drying Plan E1.&E2

时间:2023-11-02 20:55:54浏览次数:43  
标签:906 覆盖 最大值 Drying Doremy 枚举 E1 条线 E2

传送门

先考虑\(E1\) 只需要删除两条线使得不被覆盖的点数最多。

观察到点数只有\(200000\) 那么我们完全可以先将被至少\(3\)条线覆盖的点删掉。

考虑枚举一条线,枚举这条线覆盖的点寻找另外一条线覆盖这些点中的最大值,然后再找没覆盖这些点之外的线的最大值即可。

复杂度容易证明是线性的。

考虑\(E2\) 需要我们删除\(k,k\le 10\)条线求出不被覆盖的点数最多。

点的数量不变,遇到这种贪心没办法解决的问题,由于点的规模很大,也不能使用网络流,只能考虑\(dp\)。

设状态\(f_{i,j}\)表示前\(i\)个点且第\(i\)个点必无覆盖已经删掉\(j\)条线的最大值。

考虑枚举上一个未被覆盖的点\(k\) 设包含\(i\)的线段数量-包含\(i\)包含\(k\)的线段数量为\(v\) \(f_{i,j}=max\{f_{k,j-v}\}\)

我们可以先把那些被覆盖超过\(10\)次的点扔掉。

这样上述转移是\(n^2k^2\)的或者优化一步为\(n^2k\)的。

考虑进一步优化这个转移式无非是求最大值

利用线段树维护即可。

注意到我们需要外层枚举\(j\) 还需要不断更改\(f{k,j-v}\)这个东西,可以暴力的修改。

因为最多修改\(nk\)次。

总复杂度\(nklogn\)。

标签:906,覆盖,最大值,Drying,Doremy,枚举,E1,条线,E2
From: https://www.cnblogs.com/chdy/p/17806300.html

相关文章

  • Codeforces Round 906 (Div. 2)
    CodeforcesRound906(Div.2)比赛链接A.Doremy'sPaint3题目链接判断给定的数组是不是满足a1+a2=a2+a3=a3+a4=......=an-1+anA思路:这个题一开始没有读仔细问题,导致一时间出错了,后来读清楚问题之后发现其实这个数组中只能出现两个数字,且两个数字之间的差值最多是1A代码:......
  • 《CF1889C2 Doremy's Drying Plan (Hard Version)》 解题报告
    考场上不会做。如果考虑删掉哪些区间实际上不太可做。正难则反,转化贡献,考虑哪些点可以有贡献。显然一个点如果可能有贡献,那么当且仅当覆盖它的区间\(\leK\)个。于是我们记一个状态\(f_{i,j}\)表示前\(i\)个点中,\(i\)是最后一个贡献的点,已经删除了\(j\)段区间了。......
  • CF1764D Doremy's Pegging Game 组合数学
    CF1764DDoremy'sPeggingGame你怎么连简单题也不会?考虑满足条件当且仅当有连续的n/2向下取整段被删除。考虑最终状态一定是一次删除联通了两个连续段,然后结束。我们枚举这个连续段的长度i。最后一个删除的位置有n/2下取整*2-i种方案,设另外删除了j种,则另外删除的方案......
  • Codeforces Round 906 Div. 1 (CF1889)
    貌似现在发周六的CF题解已经失去了时效性,不过问题不大。A.QingshanLovesStrings2Description定义一个长度为\(k\)的\(01\)串\(s\)是好的,当且仅当\(\foralli\in[1,k],s_i\neqs_{k-i+1}\)。现给你一个串,每次操作你可以在任意位置插入一对\(01\)。请构造操作方......
  • Codeforces Round 906 (Div. 2)A-E1
    A.Doremy'sPaint3记数组中数的种类数为\(k\),当\(k=1\)时,答案为\(yes\);当\(k=2\)时,记两个种类的数的个数差为\(d\),当\(d≤1\)时,答案为\(yes\);其他情况答案为\(no\)。时间复杂度:\(O(nlogn)\)1voidsolve()2{3intn;cin>>n;45map<int,int>mp;6......
  • Codeforces Round 906 (Div. 2) A-E1
    比赛地址A.Doremy'sPaint3题意:给出一个数组\(b\),问能否通过重新排序使得数组满足\(b_1+b_2=b_2+b_3=...=b_{n-1}+b_{n}\)Solution首先判断元素个数如果是1,则满足条件如果是2,需判断不同元素个数的差是否小于等于1其余的均不满足条件voidsolve(){intn;cin>......
  • CF1889C2. Doremy's Drying Plan (Hard Version)
    容易想到dp:设\(dp_{i,p}\)表示前\(i\)天,强制第\(i\)天dry,并且一共消除了\(p\)个区间的答案。转移时可以考虑枚举前面的决策\(j\),此时有转移方程:\[dp_{i,p}=\max(dp_{j,p-w})+1\]其中\(w\)为满足\(l\in(j,i],r\in[i,n]\)的区间\([l,r]\)个数。显然可以考虑套......
  • CF1889B. Doremy's Connecting Plan
    一开始不会先跳C了!差点满盘皆输!设\(i<j\),则\(i,j\)合并可以看作\(a_i\leftarrowa_i+a_j\)后删掉\(j\)!此时和初始局面本质相同!所以不妨先只看初始局面!不等式右侧和下标有关!显然若右侧\(i,j\)中只要有一个是\(1\),就会让右侧的值大幅减小!设\(1\)和\(i\)合并!则需满......
  • CF1890D Doremy's Connecting Plan
    Problem-1890D-Codeforces这个式子左边是加法,右边是乘法,很不好算但其实是降智题,不过同时也是我不擅长的找性质因为式子左边是加法而不是乘法,因此像类似于并查集那样求出当前每个联通块内\(\suma_i\)等价于固定一个点从这个点的联通块向外扩展。\(i\)越小越好......
  • 【算法题】2906. 构造乘积矩阵
    题目:给你一个下标从0开始、大小为n*m的二维整数矩阵grid,定义一个下标从0开始、大小为n*m的的二维矩阵p。如果满足以下条件,则称p为grid的乘积矩阵:对于每个元素p[i][j],它的值等于除了grid[i][j]外所有元素的乘积。乘积对12345取余数。返回grid的乘积矩......