博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1745 Divisibility DP
阅读量:4306 次
发布时间:2019-06-06

本文共 932 字,大约阅读时间需要 3 分钟。

POJ:

A完这题去买福鼎肉片,和舍友去买滴~舍友感慨“这一天可以卖好几百份,每份就算赚一块钱。。那么一个月。。一年。。。” 

我说“那我们以后去卖这个吧,饿了还能自己煮着吃”

哈哈,一群天真的少年呀~~~~

说正事~

------------------------------------------------华丽的分割线-------------------------------------------------

题目大意:

给一串数列,在其中间插入+或者-可以得到不同的结果,你需要判断的是对于n个这样的数经过一系列运算后最终是否能得到k。(每个数都要用,按题目给的顺序)

思路:

DP,本题的精华在于用位向量来表示是否出现过mod k的余数,最后判断0那个位置是否出现即可。

还可以直接用两个一维数组来优化空间复杂度,不过时间略长一些。(世界是公平的,有舍才有得)

1.未优化空间复杂度 141ms

#include
#include
const int MAXN=10000+10;bool dp[MAXN][110];int main(){ int n,k; while(~scanf("%d%d",&n,&k)) { int temp; scanf("%d",&temp); memset(dp,0,sizeof(dp)); dp[0][( temp +k*10000) %k]=1; for(int i=1;i

2.优化了的版本 157MS

#include
#include
bool dp[101];int main(){ int n,k; while(~scanf("%d%d",&n,&k)) { int value; scanf("%d",&value); memset(dp,0,sizeof(dp)); dp[( value +k*10000) %k]=1; for(int i=1;i

转载于:https://www.cnblogs.com/murmured/p/5004234.html

你可能感兴趣的文章
记一次断电恢复ORA-01033错误
查看>>
C#修改JPG图片EXIF信息中的GPS信息
查看>>
从零开始的Docker ELK+Filebeat 6.4.0日志管理
查看>>
How it works(1) winston3源码阅读(A)
查看>>
How it works(2) autocannon源码阅读(A)
查看>>
How it works(3) Tilestrata源码阅读(A)
查看>>
How it works(12) Tileserver-GL源码阅读(A) 服务的初始化
查看>>
uni-app 全局变量的几种实现方式
查看>>
echarts 为例讲解 uni-app 如何引用 npm 第三方库
查看>>
uni-app跨页面、跨组件通讯
查看>>
springmvc-helloworld(idea)
查看>>
JDK下载(百度网盘)
查看>>
idea用得溜,代码才能码得快
查看>>
一篇掌握python魔法方法详解
查看>>
数据结构和算法5-非线性-树
查看>>
数据结构和算法6-非线性-图
查看>>
数据结构和算法7-搜索
查看>>
数据结构和算法8-排序
查看>>
windows缺少dll解决办法
查看>>
JPA多条件动态查询
查看>>