Educational Codeforces Round 168 (Rated for Div. 2) F. Chips on a Line(完全背包+斐波那契数列)

The 2024 ICPC Asia East Continent Online Contest (I) L. Bull Farm(性质题+有向图可达性/最短路) 也就是需要满足,t[i][1]到t[i][n]这一行,除去t[i][j]以外,其他n-1个数两两不重复。也就是最早前dis[j]个按钮时,i是可以访问j的,此时把无向边也当成有向边做,最多也就加3n条边。2. 恰好只有一组数出现了两次,如1 2 2 4 5,此时只能空t[i][2]/t[i][3],dp[i][j]表示初始局面空出来的是j槽,按了i按钮后,空出来的是dp[i][j]槽,所以,基于这个数据范围,很自然暴力的做法就是,离线询问,从前0个处理到前l个, 阅读详情
题目

思路来源

乱搞ac

题解

可以把一个数都换成1和2,比如一个3可以换成1个1、1个2

然后1和2又可以互换,所以只用记录一个数可以被几个1表示,

然后发现第i个数是fib[i],10个数,所以是不超过fib[10]的斐波那契数列

问题转换成,有x种数,其中第i种数是fib[i],在其中选n个数,假设他们的和是y

如果用最少个斐波那契数之和去表示y的时候,用了m个数,那么y就是合法的

最少的斐波那契数可以dp预处理出来,当然贪心一步,直接从最大的转移递推出来也是对的

dp[i][j]表示当前选了i个数和为j的方案数,做个完全背包,将所有合法的y的状态求和即可

代码
#include<bits/stdc++.h>
using namespace std;
#define rep(i,a,b) for(int i=(a);i<=(b);++i)
#define per(i,a,b) for(int i=(a);i>=(b);--i)
typedef long long ll;
typedef double db;
typedef pair<int,int> P;
#define fi first
#define se second
#define pb push_back    
#define dbg(x) cerr<<(#x)<<":"<<x<<" ";
#define dbg2(x) cerr<<(#x)<<":"<<x<<endl;
#define SZ(a) (int)(a.size())
#define sci(a) scanf("%d",&(a))
#define pt(a) printf("%d",a);
#define pte(a) printf("%d\n",a)
#define ptlle(a) printf("%lld\n",a)
#define debug(...) fprintf(stderr, __VA_ARGS__)
using namespace std;
const int N=1e3+10,M=56*N,mod=998244353;
int n,x,m,f[26],g[M];
void add(int &x,int y){
    x=(x+y)%mod;
}
void init(){
    rep(i,1,25){
        if(i==1 || i==2)f[i]=1;
        else f[i]=f[i-1]+f[i-2];
    }
    rep(i,1,M-1){
        g[i]=i;
        if(i<=3)g[i]=1;
        else{
            per(j,25,1){
                if(i>=f[j]){
                    g[i]=g[i-f[j]]+1;
                    break;
                }
            }
        }
    }
}
int sol(){
    vector<vector<int>>dp(n+1,vector<int>(n*f[x]+1,0));
    dp[0][0]=1;//dp[j][k]表示(考虑前i个数)取了j个和为k的方案数
    rep(i,1,x){
        int up=n*f[i];
        rep(j,1,n){
            rep(k,f[i],up){
                add(dp[j][k],dp[j-1][k-f[i]]);
            }
        }
    }
    int ans=0,up=n*f[x];
    //printf("up:%d\n",up);
    rep(k,1,up){
        if(g[k]==m){
            //printf("k:%d dp:%d\n",k,dp[n][k]);
            add(ans,dp[n][k]);
        }
    }
    return ans;
}
int main(){
    init();
    scanf("%d%d%d",&n,&x,&m);
    pte(sol());
    return 0;
}

2023 Jiangsu Collegiate Programming Contest, National Invitational of CCPC (Hunan) E. LCM Plus(容斥原理) 比如需要减去的是gcd=2,lcm=y的方案,就等价于减去gcd=1,lcm=y/2的方案。dp[i][S]表示约数里当前选了i个数,当前所有质因子的状态有没有覆盖住最高幂次,由于lcm+gcd=x,有lcm/gcd+1=x/gcd,还有lcm/gcd>=1。显然如果gcd>1,让gcd和lcm同除以gcd即可,所以可以认为gcd=1,但是,这个只能限制住lcm的限制,不能限制住gcd=1,所以容斥。用gcd=1的,减去gcd>1的,枚举大于1的具体是几,枚举gcd,gcd一定是x的因子, 阅读详情

相关推荐

工业互联网工控安全与工业质检AI大模型建设方案.pptx

工业互联网工控安全与工业质检AI大模型建设方案.pptx

Educational Codeforces Round 168 (Rated for Div. 2)

给出一个正则括号序列,但是奇数位置的字符都缺失了,只保留了偶数位置上的字符,求出使括号序列合法时的最小代价。注意:偶数位置上的的字符是已知的,那么可以贪心使每个左括号尽可能早得匹配。

2303_80261633的博客 308

通信行业CentOS 7内核网络栈优化:高并发连接下UDP/TCP性能调优与系统资源管理

内容概要:本文聚焦于CentOS 7系统在通信行业高并发场景下的性能调优实践,重点围绕内核网络栈优化展开,涵盖UDP/TCP缓冲区调整、文件句柄与连接跟踪表扩容、TIME_WAIT状态复用、软中断分布优化及tuned工具的自动化调优。通过具体配置参数和实际案例(如VoIP软交换系统)深入解析各项调优措施的设计原理与实施效果,有效解决高CPS下丢包、连接失败等问题,并展望了向云化、eBPF等动态智能调优方向的发展趋势。; 适合人群:从事通信系统运维、网络开发或Linux系统性能优化的技术人员,具备一定操作系统和网络基础知识,工作经验1年以上的中初级工程师。; 使用场景及目标:①应用于软交换、媒体网关、信令网关等高并发通信设备的系统调优;②解决UDP丢包、conntrack表满、TCP连接队列溢出等典型性能瓶颈;③提升系统在小包高频、低时延要求场景下的稳定性和吞吐能力。; 阅读建议:建议结合实际生产环境或测试平台同步验证文中配置,重点关注参数背后的物理意义(如BDP、softirq、conntrack机制),并配合ss、conntrack、dmesg等命令进行调优前后对比分析,确保安全可控地实施变更。

2022 China Collegiate Programming Contest (CCPC) Guangzhou Onsite M. XOR Sum(数位dp 数位背包)

The 2022 CCPC Guangzhou Onsite M. XOR Sum(数位dp 数位背包)

小衣同学的博客 2374

2024 《计算机网络》实验教学指导书.doc

2024 《计算机网络》实验教学指导书.doc

不平衡电网下自抗扰顺序模型预测PWM整流器控制仿真模型(Simulink仿真实现)

内容概要:本文围绕面向城市空中交通的多无人机路径规划问题展开研究,提出了一套融合全局规划、动态避障与局部协同调整的综合路径规划方法。研究内容涵盖基于改进RRT算法与图论的全局路径规划、基于动态风险场和动态窗口法(DWA)的模型预测控制实现动态避障,以及基于分布式协同控制的多无人机局部路径协同策略。通过Matlab平台构建仿真环境,在多种典型城市交通场景下对所提方法进行了系统性验证,结果表明该方法在路径安全性、编队稳定性与任务效率方面表现优异。文章还深入探讨了算法的创新点与未来研究方向,为复杂城市环境下多无人机系统的自主协同提供了理论支撑与技术路径。; 适合人群:具备自动化、控制理论、计算机科学或相关领域基础知识,从事无人机系统、智能交通、路径规划、多智能体协同控制等方向研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①为城市空中交通系统中的多无人机安全、高效飞行提供可靠的路径规划解决方案;②支持在复杂、动态的城市场景中开展无人机自主导航、编队飞行与协同控制的技术研究与仿真验证。; 阅读建议:建议结合提供的Matlab代码进行实践操作,重点关注算法的具体实现细节、参数配置对性能的影响以及不同仿真场景下的实验设计,以深入理解各模块的集成逻辑与实际应用效果。

2022 China Collegiate Programming Contest (CCPC) Guangzhou Onsite I. Infection(树形dp)

2022 China Collegiate Programming Contest (CCPC) Guangzhou Onsite I. Infection(树形dp)

小衣同学的博客 1820

RTOS任务调度原理:高优先级任务为何在低优先级任务执行时无法响应

实时操作系统(RTOS)的核心在于其确定性的任务调度机制,它通过优先级抢占确保关键任务及时执行。其基本原理是调度器仅在特定调度点(如任务主动阻塞、中断退出时)运行,比较就绪态任务的优先级并切换上下文。这一机制的技术价值在于为嵌入式系统提供可预测的响应时间,广泛应用于工业控制、汽车电子和物联网设备等对实时性要求高的场景。当低优先级任务执行**长时间非阻塞运算**且无中断发生时,调度器无法被触发,导致高优先级任务虽处于就绪态却无法获得CPU,造成系统响应延迟。理解**任务状态机**与调度点,是优化实时性、避免此

weixin_33508411的博客 287

Codeforces Round 948 (Div. 2) E. Tensor(思维题-交互)

(6)否则,记las的两个父亲为f1、f2(也就是上图的点6、点7),如果能往f1后面续,就往f1后面续,否则往f2后面续。新来的点3,可以接在点4后,也可以接在点5后,也可以接在点6后,也可以接在点7后,因为在链中间的点后面续新的点,都可以看成是在交点后面续新的点,不影响两条链的性质。而此时应该是10->9->6->3->2,另一条链8->7->5->4->1。而这种情况的出现,说明前面有一个只询问了1次的点,也就是在点5下面的点4,可以发现,在点5形成Y字型,后接点4之后,新来的点3并没有续到点4上,

小衣同学的博客 1224

九齐NY8A051F低功耗模式全解析:从待机到休眠的省电实战

本文全面解析台湾九齐NY8A051F MCU的低功耗模式,从待机到休眠的省电实战技巧。通过实测数据展示四种工作模式的电流消耗差异,提供模式切换的标准流程和唤醒时序优化策略,并分享外围电路省电设计和低电压检测的实战应用,帮助开发者实现物联网设备的超长续航。

weixin_30839881的博客 407

Uibot RPA中级认证实战:手把手教你用流程创造者搞定客户数据迁移(附验证码容错技巧)

本文详细介绍了Uibot RPA中级认证实战中的客户数据迁移工程化解决方案,特别针对验证码容错技巧和动态表格处理等核心挑战。通过环境准备、登录模块设计、数据提取技术及容错体系的系统讲解,帮助RPA实施工程师掌握高效稳定的自动化流程开发方法,提升企业数据迁移效率。

weixin_30505225的博客 227

Codeforces Round 972 (Div. 2) D. Alter the GCD(二分+gcd性质)

不妨枚举l,注意到 gcd(a[l,r]),gcd(b[l,r]),gcd(a[r+1,n]),gcd(b[r+n]) 有一个不同的 r 只有 O(log) 个。求换完之后的gcd(a1,a2,...,an)+gcd(b1,b2,...,bn)的最大值。操作:选择区间[l,r],将a的[l,r]区间和b的[l,r]区间的数一一对应互换。每次给定n(n<=2e5)和两个长为n的数组a,b(1<=ai,bi<=1e9)当然枚举r也可以,这里是枚举r然后二分那log种的,复杂度O(nlog^3),

小衣同学的博客 1179

ADS 2013安装教程

1.2013和2014安装过程是一样的,运行ads2013_06_shp_windows文件进行安装 2.点击“NEXT”。 3.选择I accept,然后点击“NEXT”。 4.选择“complete”,然后点击“NEXT”。 5.选择安装路径,最好默认安装路径,安装路径不要有中文,然后点击“NEXT”。 6.点击“NEXT”. 7.如下路径默认安装,然后点击“NEXT”。 8.点击“NEXT”。 ...

谢谢关注“小鱼教你模数电”,各平台同号 6007

Educational Codeforces Round 152 F. XOR Partition(boruvka完全图最小生成树/二分+trie+贪心+二分图判定)

1. 最大化最小值,首先考虑二分,二分答案v,将(a[p]^a[i])

小衣同学的博客 1015

Hi3516CV610 YOLOv8模型转换与部署实战:从源码到板端推理全流程解析

本文详细解析了Hi3516CV610开发板上YOLOv8模型的转换与部署全流程,包括模型转换、量化、编译和部署等关键步骤。通过实战案例和避坑指南,帮助开发者高效实现从PyTorch模型到嵌入式设备的推理优化,适用于智能门禁、视频分析等实时场景。

weixin_30790841的博客 651

go实现MQTT broker(附完整源码)

go实现MQTT broker(附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 571

EPIC Institute of Technology Round August 2024 (Div. 1 + Div. 2) E. Cosmic Rays(单调栈)

如果(ai,bi)在栈中遇到相同的(aj,bi),就合并成一坨,新的这坨的是(ai+aj-now,bi)所以可以模拟这个最后一段加入的过程,维护一个单调栈,只有出现两面包夹的情况才合并。其实并不是一个难题,赛中d2花了太久时间,导致没时间写这个了,补一下写篇题解。而对于新来一个数(ai,bi)来说,如果前面的清完的时间比当前短就弹栈,那么就是维护一个单减栈,使得栈底的最大,栈底也就是最耗时的那个时间。对于栈顶来说,无法再使次栈顶弹掉,所以肯定是小于次栈顶的,对于每个时刻,输出栈底最耗时的即可。

小衣同学的博客 1012

基于NARX和NARX-LSTM的模型辨识与MPC控制系统调试与优化

本文针对两输入单输出非线性系统,提出基于NARX和NARX-LSTM的模型辨识与MPC控制优化方案。系统输入为固定量u1和可调量u2(8.5-140),输出目标为-0.58。现有模型存在辨识精度不足、历史输出依赖过重、预测偏差等问题。解决方案包括:数据差分处理改善非平稳性、调整延迟阶数优化模型结构、引入注意力机制替代手动加权、改进损失函数消除预测偏差。MPC控制器将结合优化模型,考虑控制变量步长约束(≥2),实现输出稳定控制。通过系统性的模型调试与控制算法优化,最终形成完整的非线性系统辨识与控制框架。

huanghm88的专栏 127

AtCoder Beginner Contest 338 G. evall(枚举+递推 统计贡献)

比如1+23*45*56+7,mul[4]表示45*56的值,而mul[3]表示23*45*56的值。还需要处理一个形如2345*(3+34+345+3456)的东西,并加上2+23+234。sum[i]形如(3+34+345+3456)+(2+23+234+2345),sum2[i]形如2+23+234+2345*(3+34+345+3456),由4+45+456需要得到3+34+345+3456时,加上3333即可,不妨称3+34+345+3456这样的段,叫3456这个数的前缀贡献。

小衣同学的博客 996

qq邮箱发错误:The “From“ header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard pro

如果还报错 (550, b’The mail may contain inappropriate words or content.'),可能是你message[‘From’]中的< senderxxx@qq.com >发送邮箱填错了,必须要和self.sender = ’ senderxxx@qq.com '一样。可能是之前qq邮箱发送协议存在漏洞,可隐藏发送者邮箱。现在换了新协议,导致与原来协议规则、编码出现了一些问题。"python自动发送""python自动发送"

云霄IT的博客 3670

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Codeforces Round 761 (Div. 2) D2. Too Many Impostors (hard version)(交互+构造 最小次数)

令a[1]=huai,a[2]=huai+1,a[3]=huai+2,a[4]=hao,a[5]=hao+1,a[6]=hao+2,而a[2]和a[3]两坏情况是翻转不过来的,说明a[2]和a[3]只能是一好一坏,那么a[1]一定是坏。b[1]询问2、3、5,b[2]询问2、3、6,b[3]询问3,5,6,b[4]询问2、5、6。注意到a[1]-a[3]的询问结果是0,说明a[2]和a[3]要么一好一坏,要么两坏,同理,a[5]和a[6]要么一好一坏,要么两好,即a[5]和a[6]至少有一个好。

小衣同学的博客 933

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Shopee Code League 2022 - Qualification Round P3.Connecting The Numbers(线段树/二分图判定, to be discussed)

题目 t(t<=50)组样例,每次给定一个长度为2*n的序列,且每个1到n的数恰好出现两次, 圆环上等距离分布着1到2*n这2*n个点,数值相同的点要么在环内连边,要么在环外连边, 问给定的序列是否可以连边,使得边两两不交,如果可以输出yes,否则输出no 自己的一点想法 官方给出的题解,已经被找出了反例 1 4 1 2 3 2 4 3 1 4 队友请教了一下@泛白老哥,得出了一个主席树的做法 自己又仔细想了想,感觉这个主席树,好像不太有必要 所以,根据这个主席树,手撸了.

小衣同学的博客 930

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Codechef June Challenge 2021 Division 3 (Rated) G.Dual Distance(思维题-树/lca)

题目 t(t<=8)组样例,每次给出一棵n(n<=1e5)个点的树,q(q<=1e5)组询问, 每次给出一对(a,b),询问 即对于n个点来说,每个点到点a和点b中两个点距离的较小值为该点的贡献,求贡献和 sumn<=5e5,sumq<=5e5 思路来源 乱搞AC 题解 考虑a和b之间的所有点d,记c是ab路径上的中点, 如果知道这些点d到a的距离和,如图,蓝色之和, 如果知道这些点d到b的距离和,如图,粉色之和, 如果知道这些点d到c的距离和,如图,

小衣同学的博客 853

AtCoder Beginner Contest 337 G. Tree Inversion(dfs序+树状数组+树上差分 补写法)

定义f(u)为满足v

小衣同学的博客 812

hdu7458 旅行(启发式合并+树形dp)

v3往u上的mp上挂的时候,维护的是v3为子树根,存在一个点p的类型是x,p到v的路径是没用过的最大代价和,也就是③,再加上u下其他子树的dp值之和,也就是1+2,得到1+2+③。所以,mp[v][x]表示v为子树根,存在一个点p的类型是x,p到v的路径是没用过的最大代价和,用于辅助转移。于是,now[u]表示对mp[u]上所有点打的全局子树加标记,now[v]表示对mp[v]的。把v往u上挂的时候,v需要加上sum-dp[v],加上now[v],再减去now[u]

小衣同学的博客 762

Avito Cool Challenge 2018 F. Tricky Interactor(交互 构造)

①如果b[i]一开始是1,那么翻之前为pre+suf,翻了[1,i]之后,总的1的个数为i-(pre+1)+suf-1。②如果b[i]一开始是0,那么翻之前为pre+suf,翻了[1,i]之后,总的1的个数为i-pre+suf。对于n>=2的情况,先问32次询问[2,n],这样[L,n]对应[2,n],[1,R]对应[1,n]计[1,i-1]的1的个数为pre,当前无法确定第i位是什么,但是已知[i,n]的个数为suf。那么,如果询问[1,i]的时候,[i+1,n]中01的个数相同,就无法区别是否翻转,

小衣同学的博客 747
上一篇: AtCoder Regular Contest 182 C. Sum of Number of Divisors of Product(矩阵快速幂+多项式贡献)
下一篇: hdu7511 创作乐曲(口胡题解 线段树预处理+dp)
小衣同学
博客等级 码龄9年 1444粉丝 995原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小衣同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值