Dreamoon and MRT
Dreamoon and MRT
题目链接:
http://codeforces.com/group/gRkn7bDfsN/contest/212299/problem/B
只需要考虑相对位置,设a0位置为0
枚举
由于对称性,可以设第一步向右,这样总时间减少一半
递归的话省去了cnt部分,直接从O(N2^N-1)变成了O(2^N-1)
可以分析一下几个代码的优化过程
#include <bits/stdc++.h>
using namespace std;
int n, a[], b[], c, cnt, ans = ;
int main() {
scanf("%d", &n);
for (int i = ; i < n; i++)
scanf("%d", &a[i]);
for (int i = ; i < ( << n); i++) {
int s = ;
c++;
cnt = ;
b[] = s;
for (int j = ; j < n; j++) {
if (i >> j & ) s += a[j];
else s -= a[j];
b[j + ] = s;
}
sort(b, b + n + );
ans = min(ans, (int)(unique(b, b + n + ) - b));
}
printf("%d\n", ans);
}
#include <bits/stdc++.h>
using namespace std;
int n, a[], b[], c, cnt, v[], ans = ;
int main() {
scanf("%d", &n);
for (int i = ; i < n; i++)
scanf("%d", &a[i]);
for (int i = ; i < ( << n); i++) {
int s = * ;
c++;
cnt = ;
v[s] = c;
for (int j = ; j < n; j++) {
if (i >> j & ) s += a[j];
else s -= a[j];
if (v[s] != c) {
cnt++;
v[s] = c;
}
}
ans=min(ans,cnt);
}
printf("%d\n", ans);
}
#include <bits/stdc++.h>
using namespace std;
int n, a[], b[], c, cnt, v[], ans = ;
int main() {
scanf("%d", &n);
for (int i = ; i < n; i++)
scanf("%d", &a[i]);
for (int i = ; i < ( << n); i+=) {
int s = * ;
c++;
cnt = ;
v[s] = c;
for (int j = ; j < n; j++) {
if (i >> j & ) s += a[j];
else s -= a[j];
if (v[s] != c) {
cnt++;
v[s] = c;
}
}
ans=min(ans,cnt);
}
printf("%d\n", ans);
}
#include <bits/stdc++.h>
using namespace std;
const int SIZE = 5e6+;
int m,cnt[SIZE],an,d[];
void dfs(int i,int x,int v){
if(i==m){
an=min(an,v);
return;
}
int nxt=x+d[i];
cnt[nxt]++;
dfs(i+,nxt,v+(cnt[nxt]==));
cnt[nxt]--; nxt=x-d[i];
cnt[nxt]++;
dfs(i+,nxt,v+(cnt[nxt]==));
cnt[nxt]--;
}
int main(){
scanf("%d",&m);
an=m+;
for(int i=;i<m;i++)
scanf("%d",&d[i]);
cnt[SIZE/]=;//
cnt[SIZE/+d[]]=;//强制第一步向右
dfs(,SIZE/+d[],);
printf("%d\n",an);
return ;
}
Dreamoon and MRT的更多相关文章
- Dreamoon and MRT(二元枚举)
题目 数轴上有M个点a1.a2....am,另有一个数列p1.p2....pn,(1 ≤ pii ≤ M). 给定d1.d2....dn,对所有的 i (1 ≤ i ≤ n),已知 |api+1 - ...
- MODIS批量处理软件MRT的安装说明
最近在处理遥感影像的时候遇见了MODIS影像数据,从中MOD13中提取NDVI是相当的重要.在一番的百度之中找到了处理modis影像的神器------MRT 接下来我来说明一下MRT的具体安装,如果之 ...
- codeforces 477B B. Dreamoon and Sets(构造)
题目链接: B. Dreamoon and Sets time limit per test 1 second memory limit per test 256 megabytes input st ...
- codeforces 477A A. Dreamoon and Sums(数学)
题目链接: A. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input ...
- HDR Defered Shading (using MRT)
http://http.download.nvidia.com/developer/SDK/Individual_Samples/DEMOS/Direct3D9/DeferredShading.zip ...
- Codeforces Round #272 (Div. 2) C. Dreamoon and Sums 数学
C. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input stand ...
- cf(#div1 B. Dreamoon and Sets)(数论)
B. Dreamoon and Sets time limit per test 1 second memory limit per test 256 megabytes input standard ...
- cf(#div1 A. Dreamoon and Sums)(数论)
A. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input stand ...
- Codeforces Round #272 (Div. 1) Problem C. Dreamoon and Strings
C. Dreamoon and Strings time limit per test 1 second memory limit per test 256 megabytes input stand ...
随机推荐
- label标签的可访问性
与表单元素关联的方法(IE6下label标签包裹控件的方法是不顶用的): 1 使用for和id关联控件 <p><label for="test">标签< ...
- bzoj2384
树状数组+KMP 匹配问题上KMP 但是问题在于如何判断两个位置相等,我们认为如果一个位置之前比他小的数数量相同那么就是相等. 那么我们用树状数组动态维护这个东西,每次跳nxt的时候用树状数组删除数. ...
- 关于spring boot打出的jar包在Linux中运行
众所周知, spring boot打出的jar包可以通过 "java -jar xxx.jar"的方式来运行 但是在Linux中, 通过这个命令运行的话会占用该窗口, 当我们 Ct ...
- 斯坦福CS231n—深度学习与计算机视觉----学习笔记 课时8&&9
课时8 反向传播与神经网络初步(上) 反向传播在运算连路中,这是一种通过链式法则来进行递推的计算过程,这个链路中的每一个中间变量都会对最终的损失函数产生影响. 链式法则通常包含两部分,局部梯度和后一层 ...
- Linux ubuntu 下寻找 texlive 缺失包 texlive 缺失包(转载)
转自:http://blog.sina.com.cn/s/blog_87315ca60101d4d1.html 在Linux下用 latex 编译 ××.tex 文件有时候时会提示: ! LaTeX ...
- 51nod 1267【二分】
思路: 首先我们能够很容易地想到,4个数的和,拆成两两相加:a+b=-c-d; 我们也能很轻松地求出两两之和,但是呢..不同的和会存在相同的值相加,所以还要排除这个条件.具体操作就是标记一下,然后将和 ...
- bzoj 1814: Ural 1519 Formula 1【插头dp】
设f[i][j][s]为轮廓线推到格子(i,j),状态为s的方案数 括号表示一段线的左端和右端,表示成左括号和右括号,状压的时候用1和2表示,0表示已经闭合 下面的蓝线是黄色格子的轮廓线,dp转移要把 ...
- PJzhang:有关火绒新版本以及火绒的一些介绍
猫宁!!! 看到公司有人还在使用企业版麦咖啡杀毒,公司没续费之后,病毒库已经好久没有更新了. 现在测试的360天擎,员工反馈有点卡,重要原因是软件太重,根本原因是电脑该换代了. 自然想到了,用过一段时 ...
- tarjan有向图的强连通
强连通:在有向图G中,两个顶点间至少存在一条路径,则两个点强连通. 强连通图:在有向图中,每两个顶点都强连通,则有向图G就是一个强连通图. 强连通分量:在非强连通图中的极大强连通子图,就称为强连通分量 ...
- Jquery | 基础 | 慕课网 | 元素选择器
getElementsByTagName方法得到页面所有的<div>元素 var divs = document.getElementsByTagName('div'); 与 同样的效果, ...