【AtCoder】【AGC009E】Eternal Average

[AGC009E] Eternal Average——结论、DP 弱者抱团取暖,可悲的是,只有我一个弱者 阅读详情

Description

有n个0,m个1,每次你从这里面取出K个数,取平均值后再把平均值放回去,求最后的答案有多少种取值。
保证(n+m-1)|k

Solution

把最后的答案放在K进制下考虑,
如果一个1在第x层,对答案的贡献就是在K进制下的第-x位+1,
那我们可以考虑每次把K进制数的一位+1,操作m次

如果全部为1,答案显然为1,
也就是说,如果随便操作m次,最后出来的K进制数,如果是合法的,当且仅当:接下来再操作n次,可以把原数变成1,

一种K进制数,如果可以在操作m次的情况下被组合出,当且仅当s≡m(modK−1)s≡m(modK−1)(s为每一位的和),

那么我们就可以通过这个性质进行DP了,
为了方便,对于一个可以通过m次操作构出的K进制数,如果再进行n-1次操作即可变成0.(k-1)(k-1)…的形式(如:K=3时为0.222222,即再操作一次即可变成1),这种方案便合法,
即可以看成,两个K进制数相加变成了那种形式,
我们知道了其中一个K进制数的位数和每位之和,另一个K进制数的位数和每位之和也可得知

枚举我们组合出的K进制数有几位(最后一个不为0的位置),设有i位,
fi,jfi,j,j表示每位之和,
转移显然,做一个前缀和即可,
因为合法性只与j有关,合法ans+=即可。

Code

#include <cstdio>
#define fo(i,a,b) for(int i=a;i<=b;i++)
using namespace std;
const int N=5500,mo=1e9+7;
int m,n,K,ans;
int f[2][N];
int main()
{
    scanf("%d%d%d",&n,&m,&K);--n;--K;
    fo(i,1,n+m)
    {
        register int I=i&1,q=1;
        fo(j,1,m)
        {
            if(j>K)((q-=f[!I][j-K-1])<0?q+=mo:0);
            if(j%K==m%K&&(K*i-j)%K==n%K&&(K)*i-j<=n)((ans+=q)>=mo?ans-=mo:0);
            ((q+=f[!I][j])>=mo?q-=mo:0);
            f[I][j]=q;
            if(j==K)--q;
        }
    }
    printf("%d\n",ans);
    return 0;
}
AUTOSAR从入门到精通-【应用篇】基于AUTOSAR架构的混合动力电池 ECU 软件开发 由于严峻的环境污染和能源短缺问题,各国都在致力于发展新能源车,以达到节能排放的目的。在此背景下,12V启停系统由于成本较低廉、匹配方便,得到广泛应用。但是12V系统作为启停系统后存在许多问题,比如节能和减排效果有限,并且轻度混合动力系统的功率需求通常在10~15KW,在此电压条件下运行时,电池的电流会达到1000A,因此该方案行不通。高压混合动力系统(>110V)的节油效果好,但是成本很高,并且需要大功率的电机。48V混合动力系统比高压混合动力系统成本。 阅读详情

相关推荐

Silvaco Atlas入门指南——从零开始掌握半导体器件仿真

本文为Silvaco Atlas半导体器件仿真软件的入门指南,详细介绍了从零开始掌握该工具的核心流程。内容涵盖Atlas的基本概念、仿真流程、核心文件(输入、结构、输出文件)、交互式与批处理两种操作模式,并逐步演示了如何从定义网格、划分区域、设置电极到进行掺杂、选择物理模型并求解,最终获取和分析器件特性的完整步骤。旨在帮助微电子相关专业人员和工程师快速上手这一强大的“数字实验室”,提升半导体器件设计与研发效率。

weixin_29306317的博客 398

AGC009E Eternal Average

atc 神题orz 那个擦掉\(k\)个数然后写上一个平均值可以看成是\(k\)叉Huffman树的构造过程,每次选\(k\)个点合成一个新点,然后权值设为平均值.这些0和1都会在叶子的位置,同时每个叶子\(i\)的贡献为\(w_i\)(0或1)\(*{\frac{1}{k}}^{dep_i}\),也就是每过一层这个叶子代表的0或1就要除掉\(k\)加到答案里,这样子算,所有点的贡献之和...

weixin_30882895的博客 203

linux上使用tun/tap设备模拟一个虚拟网卡,并将该虚拟网卡连接到新创建的网桥上

tun/tap设备是操作系统内核中的虚拟网络设备,是用软件模拟的网络设备,提供与硬件网络设备完全相同的功能。主要用于用户空间和内核空间传递报文。tun/tap对于硬件网络设备而言,一端连接的是物理网络,一端连接的是网络协议栈。对于tun/tap设备而言,一端连接的是应用程序(通过 字符设备文件),一端连接的是网络协议栈。

糖果墙的博客 6411

[AGC009E Eternal Average] [建模 K进制 同余 简单DP]

先把问题转化成更形象的版本:你可以任意建一棵k叉树,并且需要满足恰有n+m叶子,其中有n个权值为1(黑点),m个权值为0(白点),其余节点的权值等于儿子节点的均值。问根节点有多少种可能的取值。 这棵树形象地模拟了合并的过程,并且我们可以看到:对于每一个黑色叶子结点i,记其深度为,那么它对根的贡献就是。由于这些贡献都是k的幂的形式,所以这启发我们在k进制下去想问题。我们安排一下每个黑点的深度,这就...

Orzage的博客 454

【FPGA】定点数运算中的位宽优化与截取策略

本文深入探讨了FPGA定点数运算中的核心挑战——数据位宽优化与截取策略。针对定点数在加法、乘法等运算中位宽膨胀的问题,文章详细分析了位宽变化规律,并对比了直接截断、四舍五入和收敛舍入三大截取策略的优缺点及硬件实现方法。通过实战指南与避坑经验,旨在帮助开发者在保证计算精度的同时,高效利用FPGA资源,实现性能与面积的平衡。

weixin_29181861的博客 115

Abaqus中Cohesive单元建模:从本构到失效的完整指南

本文提供了Abaqus中Cohesive单元建模的完整指南,涵盖从本构模型到失效分析的全过程。详细解析了Cohesive单元作为模拟界面粘结与失效的关键工具,其核心在于弹性本构、损伤起始准则和损伤演化定律的设置。文章通过双悬臂梁(DCB)实例,手把手指导前处理、材料定义、求解设置及后处理分析,并分享了刚度、强度、断裂能等关键参数的影响与收敛性调优的实用避坑技巧,帮助用户准确模拟复合材料及胶接结构的界面失效行为。

cuda7parallel的博客 700

agc009e Eternal Average

Description有n个0和m个1,每次操作选择k个数删去,并写上它们的平均数。 求最后剩余的数有多少种可能。 n,m,k<=2000Solution第一次的思路假了。。。。 题意可以转化为有多少个数x可以表示成m个k^-i的和 但为了保证合法我们需要保证1-x也可以表示为n个k^-i的和。 为了方便我们可以把m-1,那么我们每一个k^-i分配给0和1的个数和就是k-1 有进位的话就

时光真疯狂, 我一路执迷于匆忙. 387

OpenHarmony Stage模型深度解剖:从Ability Kit到沙箱隔离的全链路底层原理

基于微内核架构,提供进程管理、内存管理、IPC通信等基础能力:包含V8引擎、ArkTS运行时、渲染引擎等核心组件:Ability Kit框架,提供应用生命周期管理、组件调度等能力:基于Stage模型的应用程序。

m0_67505153的博客 191

[agc009e]Eternal Average

题目大意 给你n个0,m个1,和一个k。每次操作你选择k个数,擦去这k个数并加入他们的平均数(1个),问最后会有多少种不同的实数。 n,m,k&lt;=2000,(k-1)|(n+m-1) 解题思路 转化一下题意。 考虑一种方案是一颗k叉树,给每个0和1安排深度,作为树的叶子节点,这些点的权值为0/1,其他点权值为所有儿子的平均数。问最后有多少种根节点权值不同的树。 现在问题稍微转...

ZLTJohn的博客 444

YOLOv11 改进策略之 Conv 篇:基于 C2fC 与 RepC_SPELAN4 的性能跃迁教程

某工业质检场景中,采用本文改进模块的 YOLOv11 模型,对微小零件缺陷的检测准确率提升 22%;YOLOv10 提出的 C2fC 模块与 RepC_SPELAN4 结构,是针对特征融合与卷积效率的突破性设计,掌握它们,你就能让自己的 YOLOv11 模型在精度与速度的平衡上实现“质的飞跃”。别再让“模型精度不足”成为你的瓶颈——现在就动手修改代码,让你的 YOLOv11 模型在特征提取与检测效率上实现质的飞跃,用技术实力证明你的 AI 研发能力!中的卷积层为 RepC_SPELAN4。

m0_71589036的博客 97

Archery通过OpenResty代理转发后登录一直提示Forbidden

测试几遍,连账号密码都没用验证,因为不管输什么都是提示Forbidden。找到配置文件settings.py,下面命令可到配置文件路径。回到页面刷新,随便输入个账号密码,验证失败证明请求成功了。查看Preview,提示CSRF验证失败,请求被中断。域名:dba.hkeasyspeed.com。打开开发者工具查看,网络里面可以看到报403。添加一条配置,把你配置域名添加进去。可以看到页面可以正常访问到。进入Archery容器。重启Archery容器。正常输入账号密码,OK。

万物皆可学 3143

AtCoder AGC009E Eternal Average (DP)

题目链接 https://atcoder.jp/contests/agc009/tasks/agc009_e 题解 又被劝退了。。。 第一步转化非常显然: 就等价于一开始有一个数\(1\), 有\(\frac{n+m-1}{k-1}\)次机会每次选择一个数把它变成\(k\)个原来的\(\frac{1}{k}\), 最后从\(n+m\)个数中选出\(m\)个,问能选出多少不同的数。 然后考...

weixin_30439131的博客 176

UFS总体介绍及FPGA开发

通过实现UFS的主控制器、设备控制器等组件,我们可以在FPGA上进行UFS开发,并实现高速数据传输和低功耗特性的存储解决方案。物理层负责传输物理信号,数据链路层提供数据包的传输和错误检测功能,传输层处理数据包的分段、重组和重传,逻辑层管理设备和主控制器之间的命令和数据传输,文件系统层负责文件管理和数据存储。在本文中,我们将介绍UFS的总体架构和特性,并探讨如何在FPGA上进行UFS开发。这些组件的实现涉及到UFS协议的具体细节和硬件平台的特性,因此需要参考UFS协议规范和FPGA开发平台的相关文档。

PodProgram的博客 2134

Atcoder AGC009E :Eternal Average

传送门 题解: 设x=∑mi=1k−ai,y=∑ni=1k−bix=∑i=1mk−ai,y=∑i=1nk−bix=\sum_{i=1}^m k^{-a_i}, y=\sum_{i=1}^n k^{-b_i},合法解xxx满足x+y=1x+y=1x+y=1。 也就是如果xxx能被表示为∑mi=1k−ai∑i=1mk−ai\sum_{i=1}^m k^{-a_i},且1−x1−x1-x能被表示为...

DZYO的博客 435

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

AtCoder Grand Contest 009 E:Eternal Average

题目传送门:https://agc009.contest.atcoder.jp/tasks/agc009_e 题目翻译 纸上写了\(N\)个\(1\)和\(M\)个\(0\),你每次可以选择\(k\)个数字擦掉,然后再写一个他们的平均值上去。保证\(N+M-1\)可以整除\(k-1\),请问最后留下来的那个数有多少种。\(N,M,K\leqslant 2000\) 题解 这题可以转化一下...

aga28832的博客 150

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

【AGC009 E】Eternal Average

Description 请构造若干k叉树,使得每颗均有n+m个叶子,有n个叶子点权为0,m个叶子点权为1,对于非叶子点权为儿子点权的平均数。 问最多构造多少k叉树,使得任意两颗根节点点权不同? n,m,k&lt;=2000 (n+m-1) mod (k-1)=0 Analysis 思路顺序: 1.问题模型转化成kkk叉树 2.注意到根节点权值为∑ikdep1[i]∑ikdep...

LYD729 506

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

agc009e

题目大意 给你n个0,m个1,和一个k。每次操作你选择k个数,擦去这k个数并加入他们的平均数(1个),问最后会有多少种不同的实数。 n,m,k&lt;=2000 题解 这题感觉好难啊。。。 首先要进行一波神奇的转换,可以想象现在有一颗k叉树,然后一共有n+m个叶子节点,其中有n个为1,m个为0,每一个非叶子节点的值为所有儿子的平均数,问最后根节点有多少种不同的取值方案 这两者显然是本...

Marcus 549

【AGC009 E】Eternal Average(DP)

我翻开OID博客一看,这故事没有年代,歪歪斜斜的每页上都写着“xxxYYDS”几个字。我横竖睡不着,仔细看了半夜,才从字缝里看出字来,满本都是写着两个字——吃人

DD(XYX)的硫氰化氘博客 251

AtCoder agc009_e题解

题目大意: 给定nnn个0和mmm个1,每次可以选择kkk个数删去它们,然后把它们的平均数写上去。 求最后剩下的数有几种。 答案对1e9+71e9+71e9+7取模 保证n+m−1n+m-1n+m−1能被kkk整除 sol:sol:sol: 把这个问题转化为kkk叉树的模型。 其有n+mn+mn+m个叶子结点。 其中有nnn个写着0,mmm个写着1。 对于非叶子节点,它的值就是它的儿子节点的平均值...

weixin_44351585的博客 241

[agc009b]Tournament

前言简单题。题目大意若干轮比赛,每个人在某一轮可以参赛,和另外一个人pk,输的人淘汰。 最后1是冠军,已知其余每个人输给了谁,请问最少设置多少轮比赛?做法你显然可以根据每个人输给了谁建一颗树,然后处理f[x]表示x淘汰所有输给他的人所需要的最小轮数。 转移很简单,根据儿子的f排序,然后详见代码(不会说)。#include<cstdio> #include<algorithm> #define f

不来也不去的一只失忆蝴蝶 792

【Atcoder】AGC009 B-E简要题解

C. dp优化 D.问题转化,贪心 E.神仙转化,DP

远行客 380

Atcoder AGC009D : Uninity

传送门 题解: 问题等价于给每个点分配权值,满足两个相同权值的点路径上一定有权值大于他们的点。 可以证明从叶子节点从下往上贪心选取合法的最小点,最终一定是最优解。于是我们只用从小到大枚举值判断合法性即可。而点分治保证了最大为O(logn)O(log⁡n)O(\log n),我们只需要记录子树中到根还没有满足限制的点有哪些,然后就可以转移了。 结合位运算,可做到O(n)O(n)O(n)。 ...

DZYO的博客 357

【AtCoder】AGC023 A-F题解

可以说是第一场AGC了,做了三道题之后还有30min,杠了一下D题发现杠不出来,三题滚粗了 rating起步1300+,感觉还是很菜。。。 只有三题水平显然以后还会疯狂--啊(CF的惨痛经历) 改题的感觉似乎还不错因为思维都非常的妙(我根本想不到) A - Zero-Sum Ranges 开场娱乐大家的小水题,区间和为0的情况存在于sum[R] == sum[L - 1],只要记录一下某...

weixin_30613727的博客 436

【数学】【图论】【DP】AGC009E Eternal Average

分析: 首先要转换为一棵K度树,有N个权为0的叶子节点,有M个权位1的叶子结点。每个非叶子节点的权值为其所有儿子的权值的平均值。 那么设1的点的深度分别为a1,a2,a3……ama_1,a_2,a_3……a_ma1​,a2​,a3​……am​ 0的点深度分别为b1,b2,b3……bnb_1,b_2,b_3……b_nb1​,b2​,b3​……bn​ 那么由于其是一颗K度树,所以必须满足: ∑k−ai...

氧化钠的博客 393

【JZOJ 4694】【HDU 5283】火神的鱼

Description 火神最爱的就是吃鱼了,所以某一天他来到了一个池塘边捕鱼。池塘可以看成一个二维的平面,而他的渔网可以看成一个与坐标轴平行的矩形。 池塘里的鱼不停地在水中游动,可以看成一些点。有的时候会有鱼游进渔网,有的时候也会有鱼游出渔网。所以火神不知道什么时候收网才可以抓住最多的鱼,现在他寻求你的帮助。 他对池塘里的每条鱼都给予了一个标号,分别从1到n标号,n表示池塘里鱼的总数。鱼的游动可

1233
上一篇: 【AtCoder】【ARC077F】SS
下一篇: 【AtCoder】【AGC010D】Decrementing
HOWARLI
博客等级 码龄11年 109粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值