首页 > 其他分享 >2024.7.29 test

2024.7.29 test

时间:2024-07-29 20:19:11浏览次数:18  
标签:10 le gcd 2024.7 sum 29 ge test 我们

A

给出 \(n,m\),你要求对于所有长度为 \(n\) 的非负整数序列 \(A,B\) 中,满足 \(\sum A_i=\sum B_i=m\),
求 \((\sum |A_i-B_i|)^2\) 的总和。\(n\le 500,m\le 10^5\)。

首先我们发现 \(\sum (A_i-B_i)=0\),所以 \(\sum |A_i-B_i|=2\sum_{A_i<B_i} B_i-A_i\)。
我们把序列分为两部分,一部分是 \(A_i\ge B_i\) 的,另一部分是 \(A_i<B_i\) 的。
枚举第一部分有多少个数,并枚举 \(j=\sum_{A_i<B_i}B_i-A_i\) 的值,插板并组合起来即可。
要是最后和不等于 \(m\) 怎么办?对于 \(A_i\ge B_i\) 的,我们令 \(B_i=0\),\(A_i<B_i\) 的令 \(A_i=0\)。
那么我们把多出来 \(m-j\) 的部分分配给 \(n\) 个位置即可。

B

\(n\) 个点的有向图,时刻 \(t_i\) 在某个点出现一个人,共 \(m\) 个人,每个人在每个时刻随机游走。
问对于 \(1\sim T\) 每个时刻第 \(n\) 个节点的期望人数。\(n\le 70,m\le 10^4,T\le 2\times 10^6\)。

我们发现每个时刻的答案都需要求出。但是从 \(t\) 到 \(t+1\) 是要 \(O(n^2)\) 的转移的。不如写成矩阵形式。
考虑把若干个一起转移,那么我们分块,块长为 \(B\),那么预处理出 \(M^1\sim M^B\) 转移矩阵。
从 \(kB\) 转移到 \((k+1)B\) 是向量乘矩阵是 \(O(n^2)\) 的。
注意到我们是单点查值,而单点查询是 \(O(n)\) 的。所以复杂度是 \(O(n^3B+n^2\frac{T}{B})\ge O(n^{5/2}\times T^{1/2})\).
那么 \(m\) 个人怎么办,我们从这 \(m\) 个点开始再做一遍 \(M^1\sim M^B\) 的转移。

C

在平面上,初始位于 \((0,0)\),沿着给定长度为 \(n\) 的轨迹(支持上下左右走)走到 \((a,b)\),并重复走 \(k\) 次。
问最后经过多少个不同的点,\(n\le 10^5,k\le 10^{12}\)。

我们考虑哪些点会重复,设第一次经过的点有 \((x,y)\),那么 \((x+ka,y+kb)\) 的点也会被走到。
我们要求有多少种等价的点,等价的点是满足 \((x_1,y_1)=(x_0+ka,y_1+kb)\) 的。
如何求这个,不如把所有点按 \((x\bmod a,y\bmod b)\) 归类即可。

D

给定序列 \(B\),维护序列 \(A\),支持区间赋值,区间查询 \(\min \frac{lcm(A_i,B_i)}{\gcd(A_i,B_i)}\)。\(n,q,A_i,B_i\le 10^5\)。

我们要求的就是 \(\min \frac{ab}{\gcd^2(a,b)}\).
考虑分块,现在要考虑的是把一个块内的 \(A_i\) 都改成 \(v\),维护答案。
那么我们枚举 $\gcd $,一个桶内维护 \(Mn_d\) 表示有 \(d\) 因子的最小值即可。

标签:10,le,gcd,2024.7,sum,29,ge,test,我们
From: https://www.cnblogs.com/Simon-Gao/p/18330960

相关文章

  • 06-UnitTest框架
    DAY-09课堂笔记UnitTest基本使用UnitTest框架介绍框架什么是框架?1.框架英文单词framework2.为解决一类事情的功能集合UnitTest框架是Python自带的一个单元测试框架-⾃带的,可以直接使⽤,不需要单外安装-测试⼈员⽤来做⾃动化测试,作为⾃动化测试的执⾏框......
  • 7.29 调试及admin
    为什么服务不能启动   go模块支持   go程序启动过程   编译完成之后会在制定目录底下生成一个同名文件, 而不是意向中的service文件 没有搞清楚run是什么的,可以直接运行的 go启动和退出      接口是底层的数据结......
  • Contest5388 - 矩阵快速幂
    A签到题B斐波那契数列(加强版)板子。C青蛙王子矩阵快速幂优化DP板子。D求和原题UVA10655Contemplation!Algebra。矩阵快速幂题怎么能用矩阵快速幂做呢?不难发现\(a=\frac{p+\sqrt{p^2-4q}}2,b=\frac{p-\sqrt{p^2-4q}}2\),扩域快速幂即可。E旅......
  • Pentester Academy -Windows API Exploitation Recipes: Processes, Tokens and Memor
    早年为PentesterAcademy(https://www.pentesteracademy.com/),如今为INE(https://ine.com/)002安装VS社区版https://visualstudio.microsoft.com/zh-hans/003processlistingapi正在运行的是什么:服务,AV,HIDS/IPS等其他attack开始的点:进程注入,内存dump/修改,TokenSt......
  • 云原生周刊:Cilium v1.16.0 发布|20240729
    开源项目CyclopsCyclops是一个开源的开发工具,通过易于使用的用户界面简化了Kubernetes,使其更易上手。不再需要使用YAML创建和配置Kubernetes清单,可以使用Cyclops轻松配置和部署应用程序,还包括验证功能!KubetailKubetail是一个用于Kubernetes集群的私有实时日志查看......
  • day27-greedy-part01-7.29
    tasksfortoday:1.理论基础2.455.分发饼干3.376.摆动序列4.53.最大子序和------------------------------------------------------------------1.理论基础(1)贪心的本质是选择每一阶段的局部最优,从而达到全局最优。经常与贪心算法放在一起进行比较的就是动态规划,以下是......
  • 2024.7.25 模拟赛总结
    T1icanStatement:给定一个有\(n(1\len\le10^7)\)个元素的序列\(a(a_i\le10^9)\),求满足\(i<j\)且\(a_i<a_j\)的点对\((i,j)\)中\(j-i\)的最大值。Solution:考虑什么样的\(a_i\)可能作为点对中较靠左边的元素出现。显然对于一个\(k>i\)且\(a_k......
  • 2024/07/29 每日一题
    LeetCode682棒球比赛方法1:栈模拟classSolution:defcalPoints(self,operations:List[str])->int:nums=list();ans=0foropinoperations:ifop=="+":nums.append(nums[-2]+nums[-1])......
  • 【新方法】1分钟搞定2024暑期教师研修!(7.29更新)
    写在前面代码失效,现在采用修复后的油猴脚本,跟代码区别就是隔几秒再点下一个视频即可,学时可以记录上。仅限于中小学,职教和高教不可以。不会操作可以绿泡泡daikan856.脚本https://greasyfork.org/zh-CN/scripts/486386-2024年智慧中小学暑假教师研修-秒过-每个视频只点1遍-不懂先......
  • AtCoder Beginner Contest 362
    AtCoderBeginnerContest362前言vp的时候出了四题,被C题卡了一会,很久才出,D题是dijkstra的板子,改下条件即可,E题是个计数dp,这类题一直不怎么擅长,想起之前杭电第一场那个序列立方的题也是类似这种计数dp,需要加强练习。A-BuyaPen(atcoder.jp)思路判断两两最小。......