首页 > 其他分享 >CSP 模拟 46

CSP 模拟 46

时间:2024-10-13 10:45:40浏览次数:6  
标签:log 46 最大值 trie mathcal CSP 模拟

A

二分答案,每个数去找范围内最左边的。

B

相同的数不会交换,所以设 \(f_{i,j,k,u}\) 为到 \(i\),有了 \(j\) 个 0,\(k\) 个 1,当前位置是 \(u\) 的最小代价,转移是暴力的,如果一个数要去前面,那么最优的方案一定不会把他往后面换,所以两次移动只有一次贡献,最终的答案要除以 \(2\)。

C

首先有双指针的暴力,然后基于这个就可以在线段树上合并了。

D

首先有最大值固定的一个部分分,这一档使用 trie 树,然后经典问题找最大值覆盖的所有区间,每次去遍历小的那一半就是 \(\mathcal{O}(n\log n)\),然后还是用部分分的思路,但是只能以固定区间的数作为节点点,所以上可持久化 trie 树,时间复杂度 \(\mathcal{O}(n\log n\log a)\)。

标签:log,46,最大值,trie,mathcal,CSP,模拟
From: https://www.cnblogs.com/Ishar-zdl/p/18461953

相关文章

  • 「模拟赛」多校 A 层联训 5
    A.好数(number)很签,打完之后“不是这题我能做一个小时??”对于每个数,都把它与前面的所有数的加和求一遍存进桶里,再遇到一个新数\(a_i\)时,枚举前面的所有\(a_j,j\in[1,i-1]\),找桶里是否存在一个数\(x\)使得\(x=a_i-a_j\)即可。因为这些数中有负数,所以我们可能会想到用map作......
  • 多校A层冲刺NOIP2024模拟赛06
    A.小Z的手套(gloves)明现的二分,我们先排序,假定\(a\)数组个数少,我们就对每一个\(a_i\)找一个\(b_i\)使其差不超过二分的值,然后贪心来讲,肯定找相差最大的那组但差不超过二分值的那个数最优,且先找比他小的那组(因为排过序了),然后套个\(multiset\)就过了,虽然\(n{log_n}^2\)......
  • [赛记] 多校A层冲刺NOIP2024模拟赛06
    小Z的手套(gloves)100pts最大值最小,考虑二分答案;首先排序,然后每次找出数量较少的那个数组中的每个数$x$在另一个数组中有没有值在范围$[x-mid,x+mid]$的(其中$mid$为二分的答案),其实只需找$x-mid$就行,最后判断一下所有数是否合法即可;因为已经升序排序,所以......
  • 多校A层冲刺NOIP2024模拟赛06
    多校A层冲刺NOIP2024模拟赛06\(T1\)A.小Z的手套(gloves)\(100pts/100pts\)容易发现将选出的左右手套各升序排序后,同一个位置上的两只手套的尺码差距一定在答案的候选集合里,画个数轴分讨一下就证完了。部分分\(20\%\):因为\(n=m\)所以不用管谁选谁不选的问题,故\(......
  • 多校 A 层冲刺 NOIP2024 模拟赛 06
    多校A层冲刺NOIP2024模拟赛06T小Z的手套(gloves)签到题答案显然具有单调性,排序后二分答案即可。T小Z的字符串(string)签到题注意到\(n\)较小,可以使用\(O(n^3)\)的算法,直接上大\(DP\)。设计状态\(f_{i,j,k,0/1/2}\)表示从左往右填到\(i\)位,已经填了\(j\)个\(0......
  • [赛记] 多校A层冲刺NOIP2024模拟赛05
    这场数数好数(number)100pts找三个数的和,而且允许$\Theta(n^2)$,那么我们可以维护出两个数的和,然后每次顺序遍历找这个数减去前面的某个数在任意两个数的和中有没有出现过,这个也是$\Theta(n^2)$的;所以时间复杂度:$\Theta(n^2)$,如果带$\log$会过不去,要用桶维护;点击......
  • 《csp-j2024初赛真题》 解析
    温馨提醒,以下解析为个人观点,还是得请大佬多多指教(可以喷,但不能说我是复制粘贴!)这篇文章的背景故事:我的那些朋友去给另一个朋友过生日聚会,现在刚刚走回来。那你们知道我为啥不去吗给你们看张珍贵无比的图片: 当然,不止这两张。至于原因,我要回来赶(肝)(干)解析(哭脸)1.32位int......
  • 模拟退火与爬山法
    通过向chatGPT-4o-mini提问,我注意到所有爬山法可以解决的问题模拟退火都可以解决,所以爬山法死了我不想学爬山法。具体的,对于一个多峰函数求解最值的题目都可以用模拟退火来做。如果现在在较优解\(x\),发现了一个新的解\(x'\),如果\(x'\)比\(x\)优那么\(x\getsx'\)否则......
  • 2146: 【例7.2】与圆相关的计算
    include<bits/stdc++.h>usingnamespacestd;doubler,pi=3.14159;intmain(){cin>>r;cout<<fixed<<setprecision(4)<<r2<<"";cout<<fixed<<setprecision(4)<<r2pi<<&quo......
  • 多校A层冲刺NOIP2024模拟赛04
    02表示法直接递归即可,稍微写个高精。点击查看代码#include<bits/stdc++.h>usingnamespacestd;//#defineint__int128constintN=1e4;strings;intb[N],c[N],len;inta[N],tot;intread(){ intf=1,s=0;charch=getchar(); while(ch<'0'||ch>'9......