2018年东北农业大学春季校赛 I wyh的物品(二分答案+公式推导)

本篇博客详细解析了2018年东北农业大学春季校赛中涉及ACM竞赛的问题,重点介绍了如何运用二分答案策略来解决特定问题。博主指出在确保不超时的情况下,寻找最大右区间,同时推导出关键公式Σv - x * Σw >= 0,并强调该公式具备可加性,可以通过计算每对(v, w)的v - x * w值c,选取最大的k对求和判断是否大于等于0。" 131606476,18148785,CCSDS标准下超短LDPC码的构建与编码验证,"['通信', '编码理论', 'MATLAB编程', '航天技术', '信息校验']
摘要由CSDN通过智能技术生成

点击打开链接


解析:

二分答案,右区间去的尽可能大,但也要注意不要log(r)不要超时

这里二分的式子肯定是Ek对(v,w),使得Σv/Σw>=x,-->Σv-x*Σw>=0 

因为这个式子具有可加性

v1-x*w1

v2-x*w2

v3-x*w3 ......->Σv-x*Σw

那么我们就可以算出每一对(v,w)的v-x*w的值c,取c最大的k对求和,看值是不是>=0

#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cstdlib>
#include <cmath>
using namespace std;
#define INF 1e9;

typedef long long int lli;

const int MAXN = 1e5+10;
lli a[MAXN];
lli b[MAXN];
double sum[MAXN];
int n,k;


bool check(double x)
{
    for(int i=1;i<=n;i++)
    {
        sum[i]=b[i]-x*a[i];
    }
    sort(sum+1,sum+1+n);
    double ans=0;
    fo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值