Educational Codeforces Round 32:E. Maximum Subsequence(Meet-in-the-middle)
来源:互联网 发布:阿里云系统机顶盒刷机 编辑:程序博客网 时间:2024/05/16 09:33
题目链接:E. Maximum Subsequence
用了一个Meet-in-the-middle的技巧,还是第一次用到这个技巧,其实这个技巧和二分很像,主要是在dfs中,如果数量减小一半可以节约很多的时间。
Meet in the middle(有时候也叫作split and merge)是一种用以获取足够高效解决方案的灵巧的思想。和分治思想非常类似,它将问题分割成两个部分,然后试着合并这两个子问题的结果。好处在于通过使用一点额外的空间,你可以解决两倍规模的原来可以解决的问题。
#include<bits/stdc++.h>using namespace std;typedef long long ll;set <ll> se[2];const int maxn = 40;ll num[maxn];ll n,m;void dfs(ll sum,ll l,ll r){ if(l == r) { se[r == n].insert(sum); return ; } dfs((sum+num[l])%m,l+1,r); dfs(sum,l+1,r);}int main(){ scanf("%lld%lld",&n,&m); for(int i=0;i<n;i++) { scanf("%lld",&num[i]); num[i] = num[i] % m; } dfs(0,0,n/2); dfs(0,n/2,n); set<ll> ::iterator iter,iter2; ll Max = 0; for(iter=se[0].begin();iter!=se[0].end();iter++) { ll x = *iter; ll y = m - 1 - x; iter2 = se[1].upper_bound(y); iter2--; Max = max(Max,(x+*iter2)%m); } printf("%lld",Max);}
阅读全文
0 0
- Educational Codeforces Round 32:E. Maximum Subsequence(Meet-in-the-middle)
- codeforces Educational Codeforces Round 32 E. Maximum Subsequence
- Codeforces 888E(位运算+meet-in-the-middle)
- codeforces 525E Anya and Cubes(暴力,meet-in-the-middle)
- Meet in the middle
- Educational Codeforces Round 7 E. Ants in Leaves(贪心)
- Educational Codeforces Round 8 E. Zbazi in Zeydabad(BIT)
- Educational Codeforces Round 27 E. Fire in the City(二维离散化)
- Educational Codeforces Round 32 E 折半枚举
- Educational Codeforces Round 16 (A-E)
- Codeforces-888E:Maximum Subsequence(思维)
- 编程竞赛技巧:Meet in the middle
- [LA2965][建模][Meet in the middle]侏罗纪
- 一道“暴力题” (meet in the middle)
- Educational Codeforces Round 9 E.Thief in a Shop
- Educational Codeforces Round 8 E - Zbazi in Zeydabad
- Educational Codeforces Round 7-E. Ants in Leaves
- Educational Codeforces Round 9 E. Thief in a Shop
- icon-font图标介绍
- HTTP协议详解
- vs2017设置注释模板
- 无需后台接入?带你玩转VasSonic 2.0里的Local Server
- linux系统修改系统时间与时区
- Educational Codeforces Round 32:E. Maximum Subsequence(Meet-in-the-middle)
- 二叉数的先序,中序,后序求高度的递归算法!
- 【LeetCode】55. Jump Game
- 当区块链遇上人工智能,会发生什么?
- 定位问题
- AWS Certified Solutions Architect Official Study Guide.pdf 英文原版 免费下载
- Unable to resolve host "api.51zhenghao.cn": No address associated with hostname
- ros 程序开机自启动
- UVA 10341 Solve It