hdu 4407,4415

博主分享比赛中两题的情况。hdu 4407需对1 - n间数进行操作,思路是用容斥求互质数和,但因int变量溢出多次wa;hdu 4415是宝剑杀人事,要分类并枚举、贪心求解,却因排序失误wa。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两题都是比赛是想对了思路,但是因为代码各种写搓,导致最后都没有过。。

hdu 4407

对于1-n之间的数,有两种操作,1.求[x,y]间和p互质的数的和,2.把第x个数改成c

这题思路是单独考虑第2种操作带来的影响,然后把问题变成求1-n间和p互质和数的和,这个用容斥求就好。但是由于一个int 变量溢出。。导致wa了无数次。。


hdu 4415

宝剑初始耐久度是m,要杀死n个人,用宝剑杀死i需要消耗Ai耐久度,且可以附带不消耗耐久度杀死Bi个人,问最多消耗多少人,且此时耐久度消耗最小。

首先要把,n个人分成两类,Bi为0和Bi不为0,且如果杀死一个Bi不为0的,所有的Bi不会0的人都会杀死。(不会证。。)

这样只要枚举几个Bi不为0的人是用自己的宝剑杀死就好了,剩下的都用贪心来做。

这题wa的真心无语。。排序的时候本来两种人都是按Ai升序排的,结果我Bi不会0的人按照Bi来排了。。头脑发晕。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值