5711 取数-1

状态表示:1维

集合:前 \(i\) 个数里面所有的选法和

属性:所有的选法和的最大值

状态计算:选或不选

选:\(f(i-1)+a_i\) 不选:\(f(i-1)\)

#include <iostream>
using namespace std;
const int N = 55;
int a[N],f[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
f[1]=a[1];
for(int i=2;i<=n;i++)
f[i]=max(f[i-2]+a[i],f[i-1]);
cout<<f[n];
return 0;
}

5712 取数-2

状态表示:1维

集合:前 \(i\) 个数里面所有的选法和

属性:所有的选法和的最大值

状态计算:连续选2个或不选

连续选两个:\(f(i-3)+a_{i-1}+a_i\) (注意要隔一个,不然就连起来了) 不选:\(f(i-1)\)

记得开 long long,因为 \(10^5×10^5\) 爆掉了(估算,实际上没有这么多,但是超过int的取值范围了)

#include <iostream>
using namespace std;
const int N = 1000010;
typedef long long LL;
int a[N];
LL f[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
f[2]=a[1]+a[2];
for(int i=3;i<=n;i++)
f[i]=max(f[i-1],f[i-3]+a[i-1]+a[i]);
cout<<f[n];
return 0;
}

5713 取数-3

状态表示:1维

集合:前 \(i\) 个数里面所有的选法和

属性:所有的选法和的最大值

状态计算:不选,选1个,连续选2个

不选:\(f(i-1)\) 选1个:\(f(i-1)+a_i\) 选2个:\(f(i-3)+a_{i-1}+a_i\) (注意隔一个)

#include <iostream>
using namespace std;
typedef long long LL;
const int N = 10005;
LL f[N];
LL a[N];
int main()
{
int n;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
f[1]=a[1];
for(int i=2;i<=n;i++)
f[i]=max(f[i-1],max(f[i-3]+a[i-1]+a[i],f[i-2]+a[i]));
cout<<f[n];
return 0;
}

nflsoj 选数1 2 3的更多相关文章

  1. 【BZOJ-2732】集合选数 状压DP (思路题)

    2734: [HNOI2012]集合选数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1070  Solved: 623[Submit][Statu ...

  2. CODE VS1008选数

    #include<cstdlib> #include<cstdio> #include<iostream> #include<cmath> #inclu ...

  3. BZOJ 3930: [CQOI2015]选数 递推

    3930: [CQOI2015]选数 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://www.lydsy.com/JudgeOnline/pro ...

  4. bzoj 2734: [HNOI2012]集合选数 状压DP

    2734: [HNOI2012]集合选数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 560  Solved: 321[Submit][Status ...

  5. BZOJ3930: [CQOI2015]选数

    题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3930 容斥原理. 令l=(L-1)/k,r=R/k,这样找k的倍数就相当于找1的倍数. 设F[ ...

  6. 【BZOJ3930】选数(莫比乌斯反演,杜教筛)

    [BZOJ3930]选数(莫比乌斯反演,杜教筛) 题面 给定\(n,K,L,R\) 问从\(L-R\)中选出\(n\)个数,使得他们\(gcd=K\)的方案数 题解 这样想,既然\(gcd=K\),首 ...

  7. 【BZOJ2734】【HNOI2012】集合选数(状态压缩,动态规划)

    [BZOJ2734][HNOI2012]集合选数(状态压缩,动态规划) 题面 Description <集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所 ...

  8. bzoj3930[CQOI2015]选数 容斥原理

    3930: [CQOI2015]选数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1383  Solved: 669[Submit][Status] ...

  9. BZOJ_2734_[HNOI2012]集合选数_构造+状压DP

    BZOJ_2734_[HNOI2012]集合选数_构造+状压DP 题意:<集合论与图论>这门课程有一道作业题,要求同学们求出{1, 2, 3, 4, 5}的所有满足以 下条件的子集:若 x ...

  10. 【BZOJ3930】选数

    [BZOJ3930]选数 Description 我们知道,从区间[L,H](L和H为整数)中选取N个整数,总共有(H-L+1)^N种方案.小z很好奇这样选出的数的最大公约数的规律,他决定对每种方案选 ...

随机推荐

  1. 2022-04-22:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 ‘X‘ 或者是一个空位 ‘.‘ ,返回在甲板 board 上放置的 战舰 的数量。 战舰

    2022-04-22:给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量. 战舰 ...

  2. vue全家桶进阶之路36:Vue3 全局路由useRouter和本地路由useRoute

    在 Vue.js 3.x 中,我们可以使用 useRouter 和 useRoute 来获取当前路由对象和当前路由信息. useRouter useRouter 可以用来获取当前路由对象.我们可以通过 ...

  3. vue小坑之Vetur报错:相对路径报错

    话不多说先上图 俗话说:面向百度编程,这话是没错滴,找不到相同问题的博客至少你还可以找谷歌翻译 以上图片问题就是:你导入的组件的相对路径不对.(有可能是你手动敲进去的,然后vetur这边检测不到) 解 ...

  4. 配置pip源

    1.使用配置文件配置文件[global]trusted-host=pypi.doubanio.comindex-url=https://pypi.doubanio.com/simple配置文件放置位置 ...

  5. 深入浅出 OkHttp 源码解析及应用实践

    作者:vivo 互联网服务器团队- Tie Qinrui OkHttp 在 Java 和 Android 世界中被广泛使用,深入学习源代码有助于掌握软件特性和提高编程水平. 本文首先从源代码入手简要分 ...

  6. JavaScript模块化 之( Commonjs、AMD、CMD、ES6 modules)演变史

    经常在工作中使用define(['./modulename'],function(modulename){}),require(['modulename'],function(modulename){ ...

  7. 驱动开发:内核解析PE结构节表

    在笔者上一篇文章<驱动开发:内核解析PE结构导出表>介绍了如何解析内存导出表结构,本章将继续延申实现解析PE结构的PE头,PE节表等数据,总体而言内核中解析PE结构与应用层没什么不同,在上 ...

  8. [ 基于宝塔部署 ] 恋爱博客 -- Like_Girl 5.0

    1)环境准备 云服务器 [ CentOS 7 ] 域名解析 love.daxiaoba.cool 宝塔面板 yum install -y wget && wget -O install ...

  9. 基于SqlSugar的开发框架循序渐进介绍(30)-- 整合客户关系管理系统模块功能

    以前在随笔<Winform开发框架之客户关系管理系统(CRM)的开发总结系列1-界面功能展示 >的几篇随笔中介绍过基于WInform开发框架开发的CRM系统,系统的功能主要也是围绕着客户相 ...

  10. 【IntelliJ】添加javaweb、tomcat语法支持

    默认情况下:idea不支持javaweb的语法 但,我们的期望是: 解决方法:配置tomcat如下: (假设你已经配置好了tomcat)接下来: 1.打开[项目结构(快捷键:Ctrl + Shift ...