博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nssl1258-naive的瓶子【贪心】
阅读量:2023 次
发布时间:2019-04-28

本文共 531 字,大约阅读时间需要 1 分钟。

正题


题目大意

有n个瓶子,将一个瓶子变成相邻一个瓶子的颜色价值为它们颜色值的乘积,求将所有瓶子变成同一个颜色的最低价值。


解题思路

枚举最后的剩下的颜色,然后对于每个瓶子只有两种可能

1.直接变成那个颜色
2.变成别的颜色在变成那个颜色
若我们要将X变成Z,而中间变成Y更优,我们可以判断
X Z &lt; = X Y + Z Y XZ&lt;=XY+ZY XZ<=XY+ZY
Y &lt; = X , Y &lt; = Z Y&lt;=X,Y&lt;=Z Y<=X,Y<=Z
然后根据根据这个判断


code

#include
#include
#include
#define ll long longusing namespace std;ll a[310],f[310],n,maxs,t;ll check(ll x)//判断{
ll s=0; memcpy(f,a,sizeof(f)); for(ll i=1;i
f[i+1]&&x*f[i+1]+f[i]*f[i+1]
f[i-1]&&x*f[i-1]+f[i-1]*f[i]

转载地址:http://axzaf.baihongyu.com/

你可能感兴趣的文章
19.openssl编程——DH
查看>>
18.openssl编程——DSA
查看>>
20.openssl编程——椭圆曲线
查看>>
21.openssl编程——EVP
查看>>
24.openssl编程——通用数据结构
查看>>
23.openssl编程——Engine
查看>>
22.openssl编程——PEM格式
查看>>
25.openssl编程——证书申请
查看>>
26.openssl编程——X509数字证书
查看>>
29.openssl编程——PKCS7
查看>>
28.openssl编程——CRL
查看>>
30.openssl编程——PCKS12
查看>>
27.openssl编程——OCSP
查看>>
31.openssl编程——SSL实现
查看>>
01.openssl-概述
查看>>
02.密钥学基本概念
查看>>
03.openssl密码实现技术
查看>>
04.openssl背景
查看>>
06.Openssl基本概念
查看>>
07.对称加密算法指令
查看>>