U盘量产检查闪存编码失败_北信源安全u盘忘记密码

U盘量产检查闪存编码失败_北信源安全u盘忘记密码没什么特殊的想法就是看自己很久没有更新关于题解类的文章了而已(其实这是我好久之前做的,只是把它从洛谷博客搬到了这里而已)题目首先分析题目要二分他长成这个亚子太二分了所以就要二分最好是先排一下序吧这样我们在输入的时候就能顺便处理出l和r的值,考虑我们二分的是一个接口的大小,所以我们的答案肯定是在最大的接口和最小的接口之间啊,所以这样做是可…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

没什么特殊的想法

就是看自己很久没有更新关于题解类的文章了而已

(其实这是我好久之前做的, 只是把它从洛谷博客搬到了这里而已)

题目

首先分析题目要二分

U盘量产检查闪存编码失败_北信源安全u盘忘记密码

 

 他长成这个亚子太二分了

所以就要二分

最好是先排一下序吧

这样我们在输入的时候就能顺便处理出l和r的值, 考虑我们二分的是一个接口的大小, 所以我们的答案肯定是在最大的接口和最小的接口之间啊, 所以这样做是可行的, 而且会让我们的程序跑的更快一些。

然而并没有什么卵用。

and 关于二分边界问题, 可以用一个ans来储存答案

一篇很好的关于边界问题的文章

然后check函数跑一遍01背包就好啦

The Last:

#include <cstdio>
#include <cstring>
#include <iostream>
using namespace std;
const int N = 1100;
int n, p, s, w[N], v[N], l = N, r, mid, ans = -1, f[N];
bool check(int x) {
    memset (f, 0, sizeof (f));
    for(int i = 1; i <= n; i++) 
        if (w[i] <= x)
            for(int j = s; j >= w[i]; j--)
                f[j] = max(f[j], f[j - w[i]] + v[i]);
    if (f[s] < p) return false;
    return true;
}
int main() {
    scanf("%d%d%d", &n, &p, &s);
    for(int i = 1; i <= n; i++) {
        scanf("%d%d", &w[i], &v[i]);
        if(w[i] > r) r = w[i];
        if(w[i] < l) l = w[i];
    }
    while(l < r) {
        mid = (l + r) >> 1;
        if(check(mid)) {
            ans = mid;
            r = mid;
        }
        else l = mid + 1;
    }
    if(ans != -1) 
        printf("%d\n", ans);
    else printf ("No Solution!\n");
    return 0;
}

谢谢收看, 祝身体健康!

 

转载于:https://www.cnblogs.com/yanxiujie/p/11609867.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182792.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 前端面试题angular_Vue前端面试题

    前端面试题angular_Vue前端面试题Angular1,ng-if跟ng-show/hide的区别有哪些?第一点区别是,ng-if在后面表达式为true的时候才创建这个dom节点,ng-show是初始时就创建了,用display:block和display:none来控制显示和不显示。第二点区别是,ng-if会(隐式地)产生新作用域,ng-switch、ng-include等会动态创建一块界面的…

    2022年10月10日
    3
  • 保姆级教程,Linux静态IP设置的技巧

    保姆级教程,Linux静态IP设置的技巧介绍如何使用VMware虚拟机Linux系统的Ubuntu16.04发行版进行静态IP设置。设置固定IP非常重要,可以避免因IP的改变,而导致原本搭建的环境失效等情况的出现。

    2022年5月13日
    34
  • 基于Redis实现DelayQueue延迟队列设计方案(附源码)「建议收藏」

    基于Redis实现DelayQueue延迟队列设计方案(附源码)「建议收藏」应用场景创建订单10分钟之后自动支付叫预约单专车出行前30分钟发送短信提示订单超时取消…等等…实现方式最简单的方式,定时扫表;例如每分钟扫表一次十分钟之后未支付的订单进行主动支付;优点:简单缺点:每分钟全局扫表,浪费资源,有一分钟延迟使用RabbitMq实现RabbitMq实现延迟队列优点:开源,现成的稳定的实现方案;缺点:RabbitMq是一个…

    2022年5月3日
    73
  • ping原理和Traceroute原理

    ping原理和Traceroute原理ping原理ping主要是用来探测主机和主机之间是否可以进行通信,如果不能ping到某台主机,表示不能与这台主机建立连接。ping使用的是ICMP协议,他发送ICMP回送请求消息给目的主机。ICMP协议规定:目的主机必须返回ICMP回送应答消息给源主机,如果源主机在一定时间内收到应答,表明主机可达。ICMP协议是通过IP协议发送的,IP协议是无连接的,不可靠的数据报协议。ping是用来检测…

    2022年7月21日
    12
  • C时间轮

    C时间轮看完了《linux高性能服务器编程》对里面的定时器很感兴趣。书中提到三种定时器,分别是:基于升序链表的定时器,基于时间轮的定时器,基于时间堆的定时器。三种定时器的实现书中均是给了C++代码,不过我对C++不太感兴趣,虽然现在在做C++开发,因此写了C版本的。书中定时器只给了封装的定时器类,没有给调用层代码,我是估摸着写了调用层代码。这里做个总结,以后可以翻翻:基于升序链表的定时器没太大难度,因此也懒

    2022年10月1日
    2
  • 互联网日报 | 瑞幸咖啡同意支付1.8亿美元达成和解;国产游戏海外收入首破千亿;滴滴试水信用支付…

    互联网日报 | 瑞幸咖啡同意支付1.8亿美元达成和解;国产游戏海外收入首破千亿;滴滴试水信用支付…今日看点✦瑞幸咖啡同意支付1.8亿美元罚款,与美SEC达成会计欺诈指控和解✦百度智能云推出“云智生态计划”,并设立30亿基金✦滴滴试水信用支付:推出“滴滴月付”产品,目前处于灰度测…

    2022年6月23日
    31

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号