首页 > 其他分享 >2024.2.15模拟赛总结

2024.2.15模拟赛总结

时间:2024-02-15 19:44:36浏览次数:28  
标签:2024.2 15 point sqrt times k1 k0 sig 模拟

这次发挥很好啊,rank1,300pts,比rank2高了70pts

T1

发现操作二的影响是不可避免的,就尽可能让操作1没影响,每次就删连续的相同的数字,然后统计一下即可

T2

感觉思路很自然,首先只需要保留近k次操作
如果有一个横的和一个竖的覆盖两个点,就可以直接走曼哈顿距离
如果两点之间被横或竖的填满就走曼哈顿距离
如果两个横行或竖行,就找一个代价最小的另一种操作,如果都没有就-1,用线段树维护上面的操作,每一次可以直接二分或线段树二分,由于开了3s,所以稳过(也不稳,要不是我卡了常就挂了)

T3

找到y坐标最小的点,然后把这个点左边的所有点设为不可走,然后从起点开始跑最短路然后枚举合并上下部分的答案
如果起点在y坐标最小的点左边,就换成找y坐标最大的点,把这个点的右边设为不可走,然后一样做即可
这样做的合法性其实就是y坐标最小的点的左侧一定会被经过,其他的不一定

T4

首先,我们还是考虑推一下式子
设\(k0=power_1-power_2,k1=point_1-point_2\)
\(point'=2\times sig(k0)\times (\sqrt{|k0|+1}-1)-A\times sig(k1)\times (\sqrt{|k1|+1}-1)\)
我们设函数\(f(x)=\dfrac{x}{|x|}\sqrt{|x|+1}-1\),特别的,x=0时为0,\(g(x)=x-f(x)\)
首先,f是单调递增的,这个是显然的
然后,g也是单调递增的,这是由于f的增长速率是小于1的,就是说x每增大1,f增大小于等于1
然后我们就可以化简式子,先看A=0
\(point'=point_1+2\times f(k0)\),显然单调
A=1:
\(point'=point_1+2\times f(k0)-sig(k1)\times (\sqrt{|k1|+1}-1)=point_1+2\times f(k0)-k1-sig(k1)\times (\sqrt{|k1|+1}-1)+k1=point_2+2\times f(k0)+g(k1)\),也单调
于是得到结论:point1越大越优,power越大越优
所以二分power,先以1为根做一遍,算出子树中叶子到当前点的最优的point,然后换根,每次就相应的更新即可,有许多细节和玄学精度问题,需要调参(?)

标签:2024.2,15,point,sqrt,times,k1,k0,sig,模拟
From: https://www.cnblogs.com/longzhaocheng/p/18016513

相关文章

  • 海亮02/15杂题
    海亮02/15杂题个人题单T2link题意给定一个\(n\)个点,\(m\)条边的仙人掌,每条边至多存在于一个环。你可以进行如下操作:选择一个度数为奇数的点,把与其相连的边全部删去。创建一个新的图,新图有\(2n\)个点。假如原图的编号为\(1\simn\),则若原图中\(u,v\)有边,则新图中......
  • 南外集训 2024.2.15 T3
    题目描述还能有错的?\(T\)组询问,每次给定\(n,k\),问:如果一个\(2n\)个数的排列所有偶数位置构成的子序列是单调递增的,那么说这个排列是好的。将一个好的排列按照顺序拆分成若干组,每一组个数都是偶数,形成的结构叫做一个城市。一个城市的价值是每个组内部的逆序对个数的乘积。求......
  • Delete a node from bst【2月15日学习笔记】
    点击查看代码//Deleteanodefrombst#include<iostream>structnode{intdata;node*left;node*right;};node*getnewnode(intx){node*temp=newnode;temp->data=x;temp->left=temp->right=NULL;returntem......
  • 2.15随笔
    今天学习到了一个关于dp的小技巧,我就叫它“加维”了。当发现无论怎么列状态转移方程,都会存在变量时,就可以尝试加维,扩展一个变量的更新。例如bicycles这道题,它相比其他的图论多了一个可以更换自行车,导致无论怎么写传统的dij都无法更新自行车的变更,因此我们就可以加维,来能够更新自......
  • 20240215打卡
    使用MPAndroidChart第三方框架绘制柱状图:1.**在build.gradle文件中添加依赖项**(低版本可以导入jar包):打开您的项目的build.gradle文件,然后在dependencies部分添加MPAndroidChart的依赖项。```groovydependencies{implementation'com.github.PhilJay:MPAndroidCh......
  • 模拟赛总结
    2024.2.6【寒假集训】20240206测试T1珠子T2数组这个题,我没考虑到的是要保留全部的\(x,y\)操作信息,以及上一次\(A\)操作的时间等等。代码(参考lcy):#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;intn,m;intt1[500001],t2[500001];intlst[5......
  • 2023.2.15 LGJ Round
    A\(n\)个点,有\(m\)种操作\((w,l,r)\),代表贡献是\(w\),并消除\([l,r]\)的所有点。操作的条件是必须消除一个点,问最多的贡献是多少。\(n,m\le300\).考虑从小区间开始操作,不难联想到区间dp。\(dp_{i,j}\)代表\([l,r]\)都被消除的最大贡献。对于\(dp_{i,j}\),我们枚举......
  • 反悔贪心(模拟费用流)
    反悔贪心(模拟费用流)贪心本身是不能反悔的,但如果当前最优解不是全局最优解,我们就需要通过反悔来贴近全局最优解。一般用堆来实现,即堆中维护当前可以用来反悔的决策,然后每次取最优的决策。其实从更一般的角度,反悔贪心就是建出费用流模型,然后用数据结构来模拟增广的操作。一些例题......
  • 2024.2.14 WC24 线段树 / CF1572D / lgP3679
    西安Day1。感冒还没好,牙龈炎也没好,明天还要考试,又要坐牢了/kk。今天是tyy的图论选讲,感觉前面网络流部分还是在线的,平面图部分毒瘤tyy拿出了他的员交课件,恐怖,直接下线了。看了NAVI和Faze的预选赛,你们俩怎么都打的这么稀碎/fn。Override真好听。「WC2024」线段树我......
  • 2024.2
    1.gym103260HExcludedMin先思考怎么转化原问题,如何check\(F(S)\geqx\)呢。如果\(S\)中\(<x\)的数\(\geqx\),显然就合法了;否则的话,我们操作过程肯定会出现一个\(x\),而根据题目的过程,出现一个\(x\)后\(x\)就不会消失了,所以说相当于是check\(F(S)\geqx+1\)了......