当前位置: 首页 > news >正文

求值(河南萌新2024)

我真的服了,注意数据范围!!!!!!!!!!!!!!!!!!!! 

#include <bits/stdc++.h>using namespace std;
typedef long long ll;
typedef double db;
typedef long double ldb;
typedef pair<int, int> pii;
typedef pair<ll, ll> PII;
#define pb emplace_back
//#define int ll
#define all(a) a.begin(),a.end()
#define x first
#define y second
#define ps push_back
#define endl '\n'
#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)void solve();const int N = 1e6 + 10;signed main() {IOS;ll t;cin >> t;while(t--)solve();return 0;
}void solve() {ll a,b,c,n,w;cin >> a >> b >> c >> n >> w;ll k1 = a-c,k2 = b-c;ll ans = LONG_LONG_MAX;for(int x = 0; x <= n; ++ x){ll f1,f2;ll pa1 = k1*x + c*n - w;ll l = 0,r = n-x;while(l <= r){ll lp = l + (r - l)/3;ll rp = r - (r - l)/3;f1 = abs(pa1 + k2*lp);f2 = abs(pa1 + k2*rp);if(f1 > f2)l = lp + 1;elser = rp - 1;}ans = min(ans,min(f1,f2));}cout << ans << endl;
}

三分y,其中z被消掉了,x是枚举,求导易得为常数,为线性函数。

void GordenGhost() {ll ans=inf;int a,b,c,n,w;cin>>a>>b>>c>>n>>w;
//    if (c>b) swap(b,c);for (int x = 0; x <= n ; ++x) {int l=0,r=n-x;while (l<r){int mid=(l+r)>>1;
//            if (x+mid>n){
//                r=mid-1;
//                continue;
//            }auto check = [&](int k){int kl=n-x-k;return abs(x*a+k*b+kl*c-w);};int m1=check(mid),m2=check(mid+1);if (m2>m1) r=mid;else l=mid+1;}
//        for(int i=l;i<=r;i++)ans= min(ans, abs(x*a+l*b+(n-x-l)*c-w));}cout<<ans<<'\n';
}

http://www.lryc.cn/news/411931.html

相关文章:

  • 【Linux】文件描述符 fd
  • 带通采样定理
  • 运维工作中的事件、故障排查处理思路
  • 深入源码P3C-PMD:使用流程(1)
  • java~反射
  • 【Linux】(26) 详解磁盘与文件系统:从物理结构到inode机制
  • 8.1 字符串中等 43 Multiply Strings 38 Count and Say
  • upload-labs靶场:1—10通关教程
  • Hive3:一键启动、停止、查看Hive的metastore和hiveserver2两个服务的脚本(好用)
  • 遗传算法与深度学习实战——生命模拟及其应用
  • 大数据|使用Apache Spark 删除指定表中的指定分区数据
  • OSPF动态路由协议实验
  • tcp中accept()的理解
  • 让我们逐行重现 GPT-2:第 1 部分
  • 第十九天内容
  • Hive之扩展函数(UDF)
  • jdk1.8中HashMap为什么不直接用红黑树
  • 消息推送只会用websocket、轮询?试试SSE,轻松高效。
  • Spring-Retry 框架实战经典重试场景
  • 人工智能在医疗领域的应用与挑战
  • Windows下nmap命令及Zenmap工具的使用方法
  • 深入了解-什么是CUDA编程模型
  • 111111111111111111
  • 环境如何搭建部署Nacos
  • 什么是 5G?
  • 优化冗余代码:提升前端项目开发效率的实用方法
  • SpringCloud Alibaba 微服务(四):Sentinel
  • Python 3.12新功能(1)
  • c++STL容器中vector的使用,模拟实现及迭代器使用注意事项和迭代器失效问题
  • Android笔试面试题AI答之Activity常见考点