题解其实网上有
突然有点感想
为什么可以用搜索或状压,因为方案数很有限,它要求每种方案不同就意味着搜索的次数也一定,所以现在就应该坚定往这方面想,找部分方案的贪心。这和上一题一样,都是先暴力,后面处理。

#include<bits/stdc++.h>
using namespace std;
#define sz(X) ((int)X.size())
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
typedef long long ll;
const int INF = 0x3f3f3f3f;
const int N = 1e5+5; int num[15];
int X[15], Y[15], Z[15];
int ans, tmp;
int ok(int x, int nu) {
if(nu == 0) return 1;
else if(X[x] == Y[x]) {
if(num[X[x]] >= 2*nu && num[Z[x]] >= nu) return 1;
}else if(num[X[x]] >= nu && num[Y[x]] >= nu && num[Z[x]] >= nu) return 1;
return 0;
}
int cal(){
// printf("%d: ",tmp); for(int i = 1; i <= 9; ++i) printf("%d ",num[i]);
int ret = 0;
int pre[10];
for(int i = 1; i <= 9; ++i) pre[i] = num[i];
for(int i = 2; i <= 8; ++i) {
int mi = min(2, min( num[1], min(num[i], num[i+1]) ) );
num[1] -= mi; num[i] -= mi; num[i+1] -= mi; ret += mi;
if(num[1] == 0) break;
}
for(int i = 1; i <= 9; ++i) num[i] = pre[i];
return ret; }
void dfs(int x, int pr) {
if(pr) {
int tt = cal();
tmp += tt;
ans = max(tmp, ans);
tmp -= tt;
}
if(x > 13) return;
int ed;
if(x < 10) ed = 2; else ed = 1;
for(int i = 0; i <= ed; ++i) {
if(ok(x,i)) {
num[X[x]] -= i; num[Y[x]] -= i; num[Z[x]] -= i; tmp += i;
dfs(x+1, i);
num[X[x]] += i; num[Y[x]] += i; num[Z[x]] += i; tmp -= i;
}
}
}
int main(){
int cc = 0;
for(int i = 2; i <= 9; ++i)
for(int j = i+1; j <= 9; ++j) {
if(i+j <= 9) {
X[++cc] = i; Y[cc] = j; Z[cc] = i+j;
}
}
for(int i = 10; i <= 13; ++i) {
X[i] = i-9; Y[i] = i-9; Z[i] = Y[i]+X[i];
} int _; scanf("%d",&_);
for(int cas=1; cas<=_; ++cas) {
for(int i = 1; i <= 9; ++i) scanf("%d",&num[i]);
ans = cal(); tmp = 0;
dfs(1, 0);
printf("Case #%d: %d\n",cas,ans);
}
return 0;
}

hdu5937 Equation的更多相关文章

  1. HDU5937 Equation(DFS + 剪枝)

    题目 Source http://acm.hdu.edu.cn/showproblem.php?pid=5937 Description Little Ruins is a studious boy, ...

  2. 「日常训练」Equation(HDU-5937)

    题意与分析 时隔一个月之后来补题.说写掉的肯定会写掉. 题意是这样的:给1~9这些数字,每个数字有\(X_i\)个,问总共能凑成多少个不同的等式\(A+B=C\)(\(A,B,C\)均为1位,\(1+ ...

  3. CodeForces460B. Little Dima and Equation

    B. Little Dima and Equation time limit per test 1 second memory limit per test 256 megabytes input s ...

  4. ACM: FZU 2102 Solve equation - 手速题

     FZU 2102   Solve equation Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & ...

  5. HDU 5937 Equation

    题意: 有1~9数字各有a1, a2, -, a9个, 有无穷多的+和=. 问只用这些数字, 最多能组成多少个不同的等式x+y=z, 其中x,y,z∈[1,9]. 等式中只要有一个数字不一样 就是不一 ...

  6. coursera机器学习笔记-多元线性回归,normal equation

    #对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...

  7. CF460B Little Dima and Equation (水题?

    Codeforces Round #262 (Div. 2) B B - Little Dima and Equation B. Little Dima and Equation time limit ...

  8. Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)

    ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...

  9. ACM:HDU 2199 Can you solve this equation? 解题报告 -二分、三分

    Can you solve this equation? Time Limit: / MS (Java/Others) Memory Limit: / K (Java/Others) Total Su ...

随机推荐

  1. BZOJ 2806: [Ctsc2012]Cheat [广义后缀自动机 单调队列优化DP 二分]

    2806: [Ctsc2012]Cheat 题意: 多个主串和多个询问串,每次询问将询问串分成多个连续子串,如果一个子串长度>=L且在主串中出现过就是熟悉的 如果熟悉的字符串长度>=询问串 ...

  2. BZOJ 1018: [SHOI2008]堵塞的交通traffic [线段树 区间信息]

    1018: [SHOI2008]堵塞的交通traffic Time Limit: 3 Sec  Memory Limit: 162 MBSubmit: 3064  Solved: 1027[Submi ...

  3. IOS开发之记录用户登陆状态,ios开发用户登陆

    IOS开发之记录用户登陆状态,ios开发用户登陆 上一篇博客中提到了用CoreData来进行数据的持久化,CoreData的配置和使用步骤还是挺复杂的.但熟悉CoreData的使用流程后,CoreDa ...

  4. 织梦默认编辑器 按下回车生成br标签改为生成p标签

    找到文件 \include\ckeditor\config.js 把 config.enterMode = CKEDITOR.ENTER_BR; config.shiftEnterMode = CKE ...

  5. 定时执行 Job - 每天5分钟玩转 Docker 容器技术(135)

    Linux 中有 cron 程序定时执行任务,Kubernetes 的 CronJob 提供了类似的功能,可以定时执行 Job.CronJob 配置文件示例如下: ① batch/v2alpha1 是 ...

  6. PV IP UV

    PV(访问量) Page View,页面浏览量. 具体的说,就是在一天内,该网站的页面总共访问了多少次 IP(独立IP) 一天内访问网站的IP数量 UV(独立访客) Unique Visitor 一般 ...

  7. 在mac上安装Docker

    1.进入一下地址进行下载docker https://download.docker.com/mac/stable/Docker.dmg 进入后进行下载后进行安装 2.将其拖动到Appliaction ...

  8. java基础--面对对象

    面对对象--概述 什么是对象? +---->对象可以泛指一切现实中存着的事物 +---->类是对象的抽象集合 什么是面对对象? +--->万物皆对象,面对对象实际就是人与万物接触== ...

  9. C. Vasya and String

    原题链接 C. Vasya and String High school student Vasya got a string of length n as a birthday present. T ...

  10. C语言老司机学Python (一)

    Python 版本:3.6.4 参考网上教程:http://www.runoob.com/python3/python3-basic-syntax.html 开始了啊. 干咱们这行的老规矩,学新语言的 ...