洛谷P3265 装备购买
这个大毒瘤题....居然反向卡精度....
别的题eps要开小,这个毒瘤要开大...
我一开始是1e-12,挂的奇惨无比,50分......
然后改成1e-7,就70分了...
1e-5 90分 1e-4 AC
做法就是用高斯消元的变式,消出一个上三角形,然后把代价加起来就行了。
每次选择花费最小的主元来消。
如果这个位置是0,就横着挪一格。
#include <cstdio>
#include <algorithm>
#include <cmath>
const int N = ;
const double eps = 1e-; double a[N][N];
int m, n; inline void out() {
for(int i = ; i <= n; i++) {
for(int j = ; j <= m; j++) {
printf("%lf ", a[i][j]);
}
printf("%.0lf \n", a[i][]);
}
puts("");
return;
} inline void Gauss() {
int i, t = ;
for(i = ; i <= n; t++, i++) {
if(t > m) {
break;
}
for(int j = i; j <= n; j++) {
if(fabs(a[i][t]) < eps && fabs(a[j][t]) > eps) {
std::swap(a[i], a[j]);
}
else if(fabs(a[j][t]) > eps && a[j][] < a[i][]) {
std::swap(a[i], a[j]);
}
}
//out();
if(fabs(a[i][t]) < eps) {
i--;
continue;
}
for(int j = i + ; j <= n; j++) {
double k = a[j][t] / a[i][t];
for(int p = t; p <= m; p++) {
a[j][p] -= k * a[i][p];
}
}
//out();
}
i--;
printf("%d ", i);
double ans = ;
for(int j = ; j <= i; j++) {
ans += a[j][];
}
printf("%.0lf", ans);
return;
} int main() {
scanf("%d%d", &n, &m);
for(int i = ; i <= n; i++) {
for(int j = ; j <= m; j++) {
scanf("%lf", &a[i][j]);
}
}
for(int i = ; i <= n; i++) {
scanf("%lf", &a[i][]);
}
//out();
Gauss();
return ;
}
AC代码
洛谷P3265 装备购买的更多相关文章
- 洛谷 [P3265] 装备购买
线性基 通过题目描述可以感觉到就是要求线性基, 线性基的求法是高斯消元,消完以后剩下的x的系数非 0 的就是线性基 本题有一个贪心策略,每次挑选价格最小的来消掉其他的元 //可以快排预处理 #incl ...
- 洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II
洛谷 P2616 [USACO10JAN]购买饲料II Buying Feed, II https://www.luogu.org/problemnew/show/P2616 题目描述 Farmer ...
- 洛谷P3265 [JLOI2015]装备购买 [线性基]
题目传送门 装备购买 格式难调,题面就不放了. 分析: 一句话,有$n$件物品,每件物品有$m$个属性和一个花费值,如果一个装备的属性值可以由其他装备的属性值改变系数后组合得到那就不买,求购买最多装备 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷P3265 [JLOI2015]装备购买(线性基+高斯消元)
传送门 不知道线性基是什么东西的可以看看蒟蒻的总结 不难看出题目讲的就是线性基 这种最小化权值的问题一般都是贪心的,就是按价值从低到高考虑每一个是否能选 据说贪心的证明得用拟阵我不会 据说这题是实数意 ...
- 洛谷P1108 低价购买
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷 P1108 低价购买
P1108 低价购买 标签 动态规划 难度 提高+/省选- 题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:& ...
- 洛谷P1108 低价购买题解
看到"你必须用低于你上次购买它的价格购买它",有没有想到什么?没错,又是LIS,倒过来的LIS,所以我们只要把读入的序列倒过来就可以求LIS了,第一问解决. 首先要厘清的是,对于这 ...
- 洛谷 P1108 低价购买 解题报告
P1108 低价购买 题目描述 "低价购买"这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:"低价购买:再低价购买&quo ...
随机推荐
- smarTTY总是失败连接的原因
首先用命令 IP addr 查看是否ip 地址错误 事实证明就是因为我的ip地址发生了变化所以导致连接不上, 不过有一次,我将电脑重启 也是连接上了的.
- PS中如何把图片颜色加到字体上去
1.在PS中的图层中,将图片置于文字层的上方,同时按ctrl+alt+g键,这样就将文字范围以外的图像给剪切掉了.见附图下方的效果. 2.最终效果如下图: 参见:https://zhidao.baid ...
- combineByKey
示例:
- hive数学函数
round 四舍五入 ceil向上 取整 floor向下取整 hive > select floor(45.8); ok 45
- windows php7 安装redis扩展
1,首先查看phpinfo 这会决定扩展文件版本(特别注意以php版本的architecture是x86还是64为准,不能以操作系统为准): 2.根据PHP版本号,编译器版本号和CPU架构 一定要根 ...
- Python魔法方法(magic method)细解几个常用魔法方法(上)
这里只分析几个可能会常用到的魔法方法,像__new__这种不常用的,用来做元类初始化的或者是__init__这种初始化使用的 每个人都会用的就不介绍了. 其实每个魔法方法都是在对内建方法的重写,和做像 ...
- python学习笔记(6)--条件分支语句
if xxxx: coding if xxxx: coding else: coding if xxxx: coding elif xxx: coding …… else: coding 或者一种简洁 ...
- servletContext和request对象的生命周期比较
ServletContext: 创建:服务器启动 销毁:服务器关闭 域的作用范围:整个web应用 Request: 创建:访问时创建request 销毁:响应结束request销毁 域的作用范围:一次 ...
- thinkphp5 实现搜索分页能下一页保留搜索条件
正常情况下: 搜索后分页了,点击第二页,进入页面之前的搜索条件没有了. 如代码 $keywords=$this->request->param('keywords'); $this-> ...
- Windows & RabbitMQ:安装
可以参考:在 Windows 上安装Rabbit MQ 指南 本文RabbitMQ版本为3.6.1 Step 1:安装Erlang Step 2:安装RabbitMQ Step 3:启用Managem ...