ArabellaCPC 2019 J. Thanos Power题解

本文探讨了一种针对101e5范围内数字的优化算法,通过加减10x的操作,联想到01背包问题,采用双值记录策略优化每一步操作,确保效率并减少步骤。代码实现中考虑了特殊情况,如连续减操作时的步数减少。

题目链接

题目大意:给一个101e5以内的数字,你要通过两种操作凑出来;执行两种操作:一种是加上10x,一种是减去10x.

这个题很容易联想到01背包,每一步都可以选择通过10-k+1做法或者是直接k的做法,简而言之,9可以通过先加上10,再减去1来实现。

但是这是每一步影响都是下一步,我们可以在每一步都用两个数值表示上一位是第一个做法实现还是第二个做法实现,这样就可以完美优化了:

做法如下:

for(int time=0;time<len;time++)
	{//(有用点个赞呗)
		
		int x=a,y=b;
		a=min(x,y)+all[time]-'0';//直接
		if(time==0)b=x+11+'0'-all[time];
		else b=min(x+11+'0'-all[time],y+9+'0'-all[time]);//两种的+10再减。
		ans=min(a,b);
	}

这里其实还有个问题,如果是第一种做法实现,即先加10,再慢慢减;会出现一种情况,就是前一个为也是减出来的,后面一位也是减出来的。后一位需要一个10,前一位正好不用减这个10,留给后面用就行了,这样前面步数-1,后面因为有前面留出来的10,步数也-1,也就是说:

b=min(x+11+‘0’-all[time],y+9+‘0’-all[time]);

这个代码就实现了前一位如果是减操作的话,就会导致少了两步。

(有用点个赞呗)

com.tongweb.deploy.interfaces.DeployException: com.tongweb.deploy.interfaces.DeployException: com.tongweb.web.thanos.startup.DeployInnerWebtierException: com.tongweb.web.thanos.startup.DeployInnerWebtierException: java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.config.ValidationFailedException: Module failed validation. AppModule(name=GiNMS_GB28181)--------this exception is deploy,exception occur is in exceptionWebtierInnerPhaserootcause is java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.config.ValidationFailedException: Module failed validation. AppModule(name=GiNMS_GB28181)--------this exception is deploy,exception occur is in exceptionWebtierInnerPhaserootcause is com.tongweb.web.thanos.startup.DeployInnerWebtierException: java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.config.ValidationFailedException: Module failed validation. AppModule(name=GiNMS_GB28181)--------this exception is deploy,exception occur is in exceptionWebtierInnerPhaserootcause is java.lang.IllegalStateException: ContainerBase.addChild: start: com.tongweb.tomee.catalina.TomEERuntimeException: com.tongweb.tongejb.config.ValidationFailedException: Module failed validation. AppModule(name=GiNMS_GB28181)--------this exception is deploy,exception occur is in exceptionWrapperPhase-------
最新发布
11-22
java.lang.ClassNotFoundException: com.zxzj.util.FckServelt at com.tongweb.tongejb.core.TongWebURLClassLoader.loadClass0(TongWebURLClassLoader.java:224) at com.tongweb.tongejb.core.TongWebURLClassLoader$1.loadClass(TongWebURLClassLoader.java:168) at com.tongweb.common.LoadClassCache.cacheLoadClass(LoadClassCache.java:63) at com.tongweb.tongejb.core.TongWebURLClassLoader.loadClass(TongWebURLClassLoader.java:165) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at com.tongweb.tongejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:2127) at com.tongweb.tongejb.config.AnnotationDeployer$ProcessAnnotatedBeans.deploy(AnnotationDeployer.java:1853) at com.tongweb.tongejb.config.AnnotationDeployer.deploy(AnnotationDeployer.java:233) at com.tongweb.tongejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:358) at com.tongweb.tongejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:975) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.startInternal(ThanosWebtierWebAppBuilder.java:1138) at com.tongweb.tomee.catalina.WebtierWebAppBuilder.configureStart(WebtierWebAppBuilder.java:1060) at com.tongweb.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133) at com.tongweb.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5175) at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:204) at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:734) at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:710) at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:727) at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:710) at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:231) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireWebtierProcess(ThanosWebtierWebAppBuilder.java:473) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:384) at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:389) at com.tongweb.deploy.TongWebDeployer$1.run(TongWebDeployer.java:328) at java.lang.Thread.run(Thread.java:750) [2025-10-14 17:09:38 826] [SEVERE] [Thread-49] [deployment] [Unable to load tag library tag class: org.josql.contrib.JoSQLJSPQueryTag] [2025-10-14 17:09:39 021] [SEVERE] [Thread-49] [deployment] [Unable to load servlet class: com.zxzj.util.FckServelt] java.lang.ClassNotFoundException: com.zxzj.util.FckServelt at com.tongweb.tongejb.core.TongWebURLClassLoader.loadClass0(TongWebURLClassLoader.java:224) at com.tongweb.tongejb.core.TongWebURLClassLoader$1.loadClass(TongWebURLClassLoader.java:168) at com.tongweb.common.LoadClassCache.cacheLoadClass(LoadClassCache.java:63) at com.tongweb.tongejb.core.TongWebURLClassLoader.loadClass(TongWebURLClassLoader.java:165) at java.lang.ClassLoader.loadClass(ClassLoader.java:351) at com.tongweb.tongejb.config.WsDeployer.processPorts(WsDeployer.java:139) at com.tongweb.tongejb.config.WsDeployer.deploy(WsDeployer.java:60) at com.tongweb.tongejb.config.ConfigurationFactory$Chain.deploy(ConfigurationFactory.java:358) at com.tongweb.tongejb.config.ConfigurationFactory.configureApplication(ConfigurationFactory.java:975) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.startInternal(ThanosWebtierWebAppBuilder.java:1138) at com.tongweb.tomee.catalina.WebtierWebAppBuilder.configureStart(WebtierWebAppBuilder.java:1060) at com.tongweb.tomee.catalina.GlobalListenerSupport.lifecycleEvent(GlobalListenerSupport.java:133) at com.tongweb.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at com.tongweb.catalina.core.StandardContext.startInternal(StandardContext.java:5175) at com.tongweb.catalina.core.ThanosStandardContext.startInternal(ThanosStandardContext.java:204) at com.tongweb.catalina.util.LifecycleBase.start(LifecycleBase.java:150) at com.tongweb.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:734) at com.tongweb.catalina.core.ContainerBase.addChild(ContainerBase.java:710) at com.tongweb.catalina.core.StandardHost.addChild(StandardHost.java:727) at com.tongweb.catalina.core.ThanosStandardHost.addChild(ThanosStandardHost.java:710) at com.tongweb.web.thanos.startup.ThanosHostConfig.deployWar(ThanosHostConfig.java:231) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.fireWebtierProcess(ThanosWebtierWebAppBuilder.java:473) at com.tongweb.tw.thanos.ThanosWebtierWebAppBuilder.deployApplication(ThanosWebtierWebAppBuilder.java:384) at com.tongweb.deploy.TongWebDeployer.deploy0(TongWebDeployer.java:389) at com.tongweb.deploy.TongWebDeployer$1.run(TongWebDeployer.java:328) at java.lang.Thread.run(Thread.java:750)
10-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值