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

#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. Java设计模式——观察者模式

    转载自:http://www.cnblogs.com/V1haoge/p/6513651.html 观察者接口:Observer public interface Observer { void up ...

  2. python基础 列表 的用法及介绍

    列表 首先定义一个列表 声明列表 列表名字=[值1,值2] list=[1,2,3,4,5] 这是一个列表,列表中有五个元素(1,2,3,4,5) 显示list列表 print   list 输出   ...

  3. intellij idea maven springmvc 环境搭建

    1.   新建maven 工程 intellij idea 默认已经集成了maven, 直接点击下一步 2.   配置文件修改 pom.xml 文件 <?xml version="1. ...

  4. Linux-PATH_环境变量

    PATH变量         是linux系统里的一个环境变量,系统已经定义好了,我们不需要再定义. 作用:         是linux里使用的命令都存在在PATH变量后面指定的目录下,我们使用命令 ...

  5. JMeter之Http协议接口性能测试

    一.不同角色眼中的接口 1.1,开发人员眼中的接口    1.2,测试人员眼中的接口 二.Http协议基本介绍 2.1,常见的接口协议 1.:2. :3. :4.:5.: 6. 2.2,Http协议栈 ...

  6. STAThread 和 MTAThread

    STAThread:single threaded apartment 直译过来是:单线程单元套间 MTAThread:multiple threaded apartment 直译过来是:多线程单元套 ...

  7. shell脚本比较字符串相等

    昨天在定位一个bug的时候,需要些shell脚本,用到了字符串的比较,出了一个小问题,就搜索总结了一下. 第一种方法:-eq 对比字符串是否相等,我首先想到的就是 -eq,然而打印的结果不正确.各种e ...

  8. sphinx初识

    sphinx(SQL Phrase Index),查询词组索引. 定义:Sphinx是一个全文检索引擎. 特性: 1.高速索引 (在新款CPU上,近10 MB/秒); 2.高速搜索 (2-4G的文本量 ...

  9. RMI远程服务调用

    数据库:info.sql /* Navicat MySQL Data Transfer Source Server : yuanzhen Source Server Version : 50713 S ...

  10. Android 文字过长TextView如何自动截断并显示成省略号

    当用TextView来显示标题的时候,如果标题内容过长的话,我们不希望其换行显示,这时候我们需要其自动截断,超过的部分显示成省略号. 如下图所示,标题过长,自动换行了,显示不是很好看. 这时候我们需要 ...