首页 > 其他分享 >20230803模拟赛

20230803模拟赛

时间:2023-09-01 22:13:43浏览次数:46  
标签:siz 路径 len 20230803 leq ed 模拟 mod

20230803模拟赛

T1摆花

sb结论题,考场上题读错了,我更是sb。

直接输出最小区间长度。

T2打饭

题意

给定 \(n,k\) 和序列 \(a\)。

求一个 \(a\) 的排列方式使得

\[\sum_{i=1}^{n-k} |a_i-a_{i+k}| \]

最小,输出这个最小值。

题解

可以转化成把 \(n\) 个数分成 \(k\) 组,且有 \(n \bmod k\) 个组比其他组多一个,且每组从小到大排序。

先将 \(a\) 排序。

设 \(dp\) 状态为 \(f_{i,j}\) 为考虑到第 \(i\) 组,有第 \(j\) 个组比其他组多一个,当前的最小答案。

\(dp\) 式子显然。

f[i][j]=min(f[i][j],f[i-1][j]+a[len(i,j)]-a[len(i,j)-m+1]);
if(j)f[i][j]=min(f[i][j],f[i-1][j-1]+a[len(i,j)]-a[len(i,j)-m]);

T3小象砍树

题意

给你一棵 \(n\) 个节点的带标号无根树。

每次,你可以选择一个度数为 \(1\) 的节点并将它从树上移除。问总共有多少种不同的方式能将这棵树删到只剩 一个点。

两种方式不同当且仅当至少有一步被删除的节点不同。

题解

典型换根 \(dp\)。

\(siz_u\) 表示 \(u\) 子树的大小。

用 \(f,g\) 分别表示子树和以 \(u\) 为根时的答案。

\[f_u=\prod_{E_{u,v}\in G} f_v\times C_{\sum_{E_{u,i}\in G}^{v} siz_i }^{siz_v} \]

g[ed[i].v]=g[u]*inv[n-1]%mod*fac[n-siz[ed[i].v]-1]%mod*fac[siz[ed[i].v]]%mod*C(n-1,siz[ed[i].v]-1)%mod;

懒得写 \(\LaTeX\) 了。

T4路径计数

题意

给定 \(n,m\),对于一个 \(n\) 个点的完全二叉树,编号为 \(i\) 的点的父亲为 $\left \lfloor \frac{i}{2} \right \rfloor $。

现在添加 \(m\) 条边,求图上有多少条简单路径(简单路径指一条没有多次经过同一个点的路径,两条路径不同当且仅当经过的边集不同或经过边的顺序不同)。

答案对 \(1e9+7\) 取模。

\[1\leq n\leq 10^9,1\leq m\leq 10 \]

题解

标签:siz,路径,len,20230803,leq,ed,模拟,mod
From: https://www.cnblogs.com/sunzz3183/p/17672926.html

相关文章

  • 爱思创模拟06试题易错题解析
    错误原因:漏项正确答案:C按节点数分类穷举 举一反三:  错误原因:处理三个空位的时候,情况考虑的太多正确答案:分情况计算,先枚举4个人共A(4,4)=24种情况,再考虑剩下两个空位置的情况,即A(5,2)=20种情况,最终答案就是24*20=480种举一反三:  错误原因:不会计算时间复杂度......
  • COMP SCI 3004操作系统的虚拟内存模拟
    SCI3004COMPSCI3004/7064OperatingSystemsPractical2–VirtualMemorySimulationAimBydoingthispracticalwork,youwilllearnhowtoimplementpagereplacementalgorithms,gainexperienceincreatingandevaluatingasimplesimulator,anddevelopyour......
  • 【考后总结】9 月 CSP-S 模拟赛 1
    9.1CSP模拟32AfterHours-TheWeekndThoughtIalmostdiedinmydreamagain(Baby,almostdied)Fightin'formylife,Icouldn'tbreatheagainI'mfallin'intonew(Oh,oh)Withoutyougoin'smooth(Fallin'in)'Cau......
  • 如何让文本模拟打字效果出现
    最近在做一个chatGpt聊天页面,需要把后端返回的文本以打字的效果输出。一开始想着是利用CSS的动画效果来实现。实现方式如下:<html><head><title>Typing</title></head><style>body{background:navajowhite;background-size:cover;font-family:'Treb......
  • MindSponge分子动力学模拟——定义一个分子系统(2023.08)
    技术背景在前面两篇文章中,我们分别介绍了分子动力学模拟软件MindSponge的软件架构和安装与使用教程。这里我们进入到实用化阶段,假定大家都已经在本地部署好了基于MindSpore的MindSponge的编程环境,开始用MindSponge去做一些真正的分子模拟的工作。那么分子模拟的第一步,我们就需要......
  • 20230802模拟赛
    20230802模拟赛T1数学题题意令\(A,B,C\)为三个质数(\(A\leqB\leqC\)),\(N=A\timesB\timesC\)。给出\(N(1\leqN\leq10^{14})\),求\(B\)。题解由\(A\leqB\leqC\)可证复杂度直接枚举\(1e7\)个质数,求\(B\)。T2子序列题意给定一个长度为\(n(\leq35)\)的序列:......
  • 模拟集成电路设计系列博客——1.3.2 增益提升
    1.3.2增益提升之前在电流镜章节提到过应用放大器来增加电流镜输出阻抗,同样的技术被用于增加Cascode增益级的输出阻抗,如下图所示:其增益由下式给出:\[A_v(s)=\frac{V_{out}(s)}{V_{in}(s)}=-g_{m2}(R_{out}(s)||\frac{1}{sC_L})\tag{1.3.20}\]其中\(R_{out}(s)\)由下式给出:\[......
  • 模拟实现一个简单的计算器
    voidmenu(){ printf("**********************\n"); printf("****1.Add2.Sub****\n"); printf("****3.Mlu4.Del****\n"); printf("*****0.exit****\n"); printf("**********************\n");}......
  • strstr函数及其代码模拟实现
    一.用法定义:char*strstr(constchar*str1,constchar*str2);•判断str1中是否包含子串str2•若包含,则返回在str1中子串str2首字符的地址•若不包含,则返回空指针NULL例:#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>#include<string.h>intmain(){ chararr1[]=......
  • Python爬虫实战 - 模拟登录采集数据
    在进行数据采集时,有些网站需要进行登录才能获取到所需的数据。本文将介绍如何使用Python爬虫进行模拟登录,以便采集网站的数据。我们提供了完善的方案和代码示例,让你能够轻松操作并获取所需的数据。使用Python爬虫模拟登录网站采集数据价值:数据获取:通过模拟登录,你可以通过网站的登录......