HDU1114

联邦学习中的差分隐私保护详解及python实现 随着数据隐私法规(如 GDPR、CCPA)日益严格,传统将数据集中到云端训练模型的方式面临合规与安全风险。联邦学习通过让各客户端保留本地数据,仅共享模型更新,缓解了数据流动带来的隐私风险。但模型更新仍可能泄露个体信息。为进一步保障隐私,可在本地更新中引入差分隐私(DP)机制,通过向梯度或模型更新中注入随机噪声,防止反向推断原始数据citeturn0search9。 阅读详情

         这题是完全背包问题。看过背包九讲,再搜了下网上大牛们的代码,才有一点小懂!

         主要是想贴上的我的四个AC代码,看看对函数的不同处理对运行时间的影响:

          ①

#include<iostream>
using namespace std;

#define INF 0x7fffffff

int empty,full,n_case;
int record[10000];

struct node
{
    unsigned int value;
    int weight;
}a[500];

int main()
{
    int t_case,volume,i,j;

    cin>>t_case;

    while(t_case--)
    {
        cin>>empty>>full>>n_case;

        for(i=0;i<n_case;i++)
            cin>>a[i].value>>a[i].weight;

        volume=full-empty;
        record[0]=0;
        for(i=1;i<=volume;i++)
            record[i]=INF;
        for(i=0;i<n_case;i++)
        {
            for(j=a[i].weight;j<=volume;j++)
            {
                if(record[j-a[i].weight]+a[i].value <record[j])
                    record[j]=record[j-a[i].weight]+a[i].value;
            }
        }
        
        if(record[volume]<INF)
            cout<<"The minimum amount of money in the piggy-bank is "<<record[volume]<<"."<<endl;
        else
            cout<<"This is impossible."<<endl;
    }

    return 0;}

 

        ②

#include<iostream>
using namespace std;

#define INF 0x7fffffff

#define min(a,b) a>b?b:a

int empty,full,n_case;
int record[10000];

struct node
{
    unsigned int value;
    int weight;
}a[500];

int main()
{
    int t_case,volume,i,j;

    cin>>t_case;

    while(t_case--)
    {
        cin>>empty>>full>>n_case;

        for(i=0;i<n_case;i++)
            cin>>a[i].value>>a[i].weight;

        volume=full-empty;
        record[0]=0;
        for(i=1;i<=volume;i++)
            record[i]=INF;
        for(i=0;i<n_case;i++)
        {
            for(j=a[i].weight;j<=volume;j++)
            {
               record[j]=min(record[j-a[i].weight]+a[i].value,record[j]);
            }
        }
        
        if(record[volume]<INF)
            cout<<"The minimum amount of money in the piggy-bank is "<<record[volume]<<"."<<endl;
        else
            cout<<"This is impossible."<<endl;
    }

    return 0;
}


        ③

#include<iostream>
using namespace std;

//#define INF 0x7fffffff
#define INF 9999999

int empty,full,n_case;
int record[10000];

struct node
{
    unsigned int value;
    int weight;
}a[500];

int min(int p,int q)
{
    return p>q?q:p;
}

int main()
{
    int t_case,volume,i,j;

    cin>>t_case;

    while(t_case--)
    {
        cin>>empty>>full>>n_case;

        for(i=0;i<n_case;i++)
            cin>>a[i].value>>a[i].weight;

        volume=full-empty;
        record[0]=0;
        for(i=1;i<=volume;i++)
            record[i]=INF;
        for(i=0;i<n_case;i++)
        {
            for(j=a[i].weight;j<=volume;j++)
            {
               record[j]=min(record[j-a[i].weight]+a[i].value,record[j]);
            }
        }
        
        if(record[volume]<INF)
            cout<<"The minimum amount of money in the piggy-bank is "<<record[volume]<<"."<<endl;
        else
            cout<<"This is impossible."<<endl;
    }

    return 0;
}


          ④

#include<iostream>
using namespace std;

//#define INF 0x7fffffff
#define INF 9999999

int empty,full,n_case;
int record[10000];

struct node
{
    unsigned int value;
    int weight;
}a[500];

inline int min(int p,int q)
{
    return p>q?q:p;
}

int main()
{
    int t_case,volume,i,j;

    cin>>t_case;

    while(t_case--)
    {
        cin>>empty>>full>>n_case;

        for(i=0;i<n_case;i++)
            cin>>a[i].value>>a[i].weight;

        volume=full-empty;
        record[0]=0;
        for(i=1;i<=volume;i++)
            record[i]=INF;
        for(i=0;i<n_case;i++)
        {
            for(j=a[i].weight;j<=volume;j++)
            {
               record[j]=min(record[j-a[i].weight]+a[i].value,record[j]);
            }
        }
        
        if(record[volume]<INF)
            cout<<"The minimum amount of money in the piggy-bank is "<<record[volume]<<"."<<endl;
        else
            cout<<"This is impossible."<<endl;
    }

    return 0;
}


        好的吧,这里还有个WA的代码,希望大牛们看到指点一二!

       

#include<iostream>
using namespace std;

#define INF 0x7fffffff

int min(int p,int q)
{
    return p>q?q:p;
}

int empty,full,n_case;
int record[10000];

struct node
{
    unsigned int value;
    int weight;
}a[500];

int main()
{
    int t_case,volume,i,j;

    cin>>t_case;

    while(t_case--)
    {
        cin>>empty>>full>>n_case;

        for(i=0;i<n_case;i++)
            cin>>a[i].value>>a[i].weight;

        volume=full-empty;
        record[0]=0;
        for(i=1;i<=volume;i++)
            record[i]=INF;
        for(i=0;i<n_case;i++)
        {
            for(j=a[i].weight;j<=volume;j++)
            {
               record[j]=min(record[j-a[i].weight]+a[i].value,record[j]);
            }
        }
        
        if(record[volume]<INF)
            cout<<"The minimum amount of money in the piggy-bank is "<<record[volume]<<"."<<endl;
        else
            cout<<"This is impossible."<<endl;
    }

    return 0;
}

以上的WA代码,如下修改下140MS过了。。。

感谢本博文下的评论者的提示。

for(i=0;i<n_case;i++)
        {
            for(j=a[i].weight;j<=volume;j++)
            {
                if(record[j-a[i].weight]==INF) continue;   //这句不加,可能造成数据溢出 
                record[j]=min(record[j-a[i].weight]+a[i].value,record[j]);
            }
        }


    

         

 

Agile Modbus使用和学习笔记 i < len;这里仅仅需要提供获取函数即可,离散输入是只读类型i++) {return 0;只读类型寄存器i++) {return 0;i < len; 阅读详情

相关推荐

从GitHub到海浪模拟:手把手教你配置WAVEWATCHⅢ 6.07.0的完整开发与测试环境

本文详细指导如何在Ubuntu系统中配置WAVEWATCHⅢ 6.07.0的开发与测试环境,涵盖虚拟机设置、依赖安装、源码编译及案例验证的全流程。通过步骤化教程,帮助科研人员快速搭建高效的海浪模拟平台,提升海洋数值模拟的研究效率。

weixin_42568801的博客 326

hdu1114 完全背包

题目链接:https://vjudge.net/problem/HDU-1114 转自:https://www.cnblogs.com/littlehoom/p/3550906.html 题意:有一个存储罐,输入空时重量与满载重量,有几种钱币,输入价值与重量,求存储罐满载时的最小价值。 思路:完全背包+一维优化。 #include <bits/stdc++.h> using names...

A 243

2025反爬终极方案:Python破解Cloudflare v2行为指纹,设备伪装+轨迹模拟拦截率压至1%

Cloudflare v2的反爬逻辑越来越接近“人类行为识别”,单纯的技术破解已失效,核心竞争力变成“模拟真实用户的能力”。本文的终极方案本质是“全方位复刻人类行为”——从设备指纹到操作轨迹,从网络特征到交互模式,让爬虫成为“无法被区分的真实用户”。这套方案的优势是“通用性强”,不仅适用于Cloudflare v2,也能破解大多数高反爬网站(如小红书、知乎、跨境电商)的行为检测;且代码可直接复用,新手只需替换目标URL和数据提取逻辑,就能快速落地。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 2356

HDU—1114(完全背包恰好装满求最小值)

完全背包恰好装满求最大值: 一维:dp[1-V]=-0x3f(负无穷),dp[0]=0; dp[i]==-0x3f,说明不可能存在满足情况的结果,dp[i]&gt;-0x3f,说明存在满足情况的最优解。 二维:dp[i][j]=-0x3f(0&lt;i&lt;n),dp[i][0]=0; 完全背包恰好装满求最大值: 一维:dp[1-V]=0x3f(正无穷),dp[0]=0; dp[i...

qq_42817826的博客 995

为ESXI Host添加v3700 FC存储

物理环境: ESXI Host version 5.1.0 Brocade SAN Switch v3700 Storage 存储和ESXI Host分别用光纤线连接在SAN交换机上 1.查询ESXI Host 的WWN号: 2. SAN交换机上查询存储的WWPN号 SAN交换机: 3.建立zone,添加到cfg文件中 brocade8Gb

haoshuwei531024的专栏 7563

基于STM32的红外测温系统设计

为了实现本次的毕业设计,我搜集了大量的文献与资料,通过这些资料了解到红外测温的优点,与实现所需的基本器件,并设计了几个方案,最终选择了STM32作为主控芯片,为此还查阅了关于STM32的资料,在此次设计中采用的是MLX90614医用红外测温模块,通过查阅其数据手册了解其测量精度高且自带温度补偿,所以选择了该传感器作为红外测温模块,本次设计到此已经基本完成,硬件部分和软件部分的设计已基本完成。

weixin_112233的博客 1423

hdu-1114-完全背包变形

首先根据题意一眼就知道是完全背包,但是要求最小值,那么就把dp初始化为INF然后将背包大小为0的时候初始化为0,将max改为min,完全背包即可。 但是这里说明两点 1:为什么这样就是求出恰好装满的最小值呢?最小值就是min,好理解,而恰好是利用的j&gt;=w[i]。当背包不断增大时,首先存进去的肯定是j=w[i]的,此时是恰好装满。 2:网上的题解都是一位数组滚动的,这里用的二维,做的时...

alusang的博客 245

手机相机基础技术解析:从硬件到算法的全面指南

手机相机的成像过程可简化为的链路,其核心硬件包括 镜头、CMOS传感器、ISP(图像信号处理器) 以及配套的软件算法。

weixin_44239603的博客 2450

hdu1114(完全背包)

/* translation: 给出n种硬币,以及该种硬币的价值和重量。求在已知重量的条件下求出这些硬币的一个组合,使得它们的价值之和最小。 solution: 完全背包dp 按照完全背包dp的解法即可。 note: 1:注意完全背包采用滚动数组的写法时的第二重循环的遍历顺序。和01背包比较。 date: 2016.10.31 */ #include #include #includ

林伏案的博客 474

OpenStack 2018 年终盘点

目录 文章目录目录前言OpenStack 一年来的成长NovaCinderNeutronIronicCyborgOctaviaKollaMagnumZunKuryr从 OpenStack 到 OpenInfra 前言 这是最好的时代,也是最坏的时代 — — 查尔斯·约翰·赫芬姆·狄更斯《双城记》 年关将至,闲暇之余,回顾我与 OpenStack 的 2018。 NOTE:仅作为个人见解,与公...

烟云的计算 3597

智能家居系统设计:基于MATLAB的智能家居系统设计和仿真,包括智能家居控制、家庭能源管理和家庭安全监控

基于 MATLAB 的智能家居系统设计方法可以有效地解决各类智能家居问题。

走向CTO的路上... 1775

HDU-1114(完全背包)

题目:acm.hdu.edu.cn/showproblem.php?pid=1114     这个题的关键在于“背包”是恰好完全装满的,所以涉及到一个小技巧:初始化将dp[1...v]设为负无穷,dp[0]设为0,最后dp[v]即所求。 好吧,其实这个技巧在我看《背包九讲》的时候已经看见了_(:з」∠)_,但是操作起来还是有点困难。 首先,这个题要求的是背包恰好完全装满时做少的钱,(o(╥﹏...

qq_40865837的博客 1531

三菱FX5U气缸控制功能块(完整ST源代码+示例程序)

如果机器包含100个气缸,我们只需要修改数组的元素数量就可以了,效率非常的高。待续....博途PLC 面向对象系列之“双通气缸功能块“(SCL代码)_plc面向对象-优快云博客文章浏览阅读667次。本文介绍了博途PLC中面向对象编程的应用,重点讲解了双通气缸的功能块设计,包括双通电磁阀功能块、双通气缸的UDT数据类型以及SCL代码实现。同时,对比了双通与单通电磁阀的差异,并讨论了将单通气缸改造为双通气缸的方法,强调了双通气缸在安全性上的优势。

RXXW_Dor的博客 1032

HDU 1114 背包

HDU1114 Piggy-Bank Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 37180 Accepted Submission(s): 18422 Problem Description Before ACM can do...

weixin_43971913的博客 331

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

HDU 1114(完全背包变式)

HDU 1114,问装满存钱罐的最小价值是多少。 完全背包的变式,限制条件为装满。 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; const int INF=0x3f3f3f3f; int main() { //背包问题变式:要求背包恰好装满,只要在初始化...

weixin_44756457的博客 474

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

hdu 1114 Piggy-Bank(完全背包)

题目链接:hdu1114 大意:给出存钱罐本身的重量和装钱后的重量,以及存钱罐中钱的面值和重量,求存钱罐装满时,钱的总和最小是多少 思路:完全背包解题,每种钱币都可以装无限个,注意初始化的值 #include #include #include #define N 1005 #define INF 0xffffffff using namespace std; int d[10005],c[

no pains,no gains 2148

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

HDU 1114 Piggy-Bank

原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114题目大意:T组测试样例。接着给出空储蓄罐的质量和装满硬币储蓄罐的质量。接着是一个N。表示有多少种硬币。然后N行表示价值和质量。问储蓄罐中最少有多少钱思路:这个也是一道DP背包问题。但是这道题是求最少有多少硬币。只需改变初始化条件。和状态转移方程就可以了代码如下:#include <iostream>

首WA是我的 426

完全背包]HDU 1114 Piggy bank

HDU 1114 piggy bank 完全背包问题

昨天的我现在的未来 532

Piggy-Bank HDU - 1114

Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM). The idea behind is simple...

Foolishman的博客 295

HDU 1114 Piggy Bank 完全背包

传送门:HDU 1114 Piggy Bank借助结构体、从小到大迭代背包。(完全背包)。代码如下:#include <iostream> #include <cstdio> #include <cstring> #include <cmath> #include <algorithm> using namespace std; #define INF 0x3f3f3f3f #define ms(x

知 识 不 是 装 饰。 384

D - 猪钱罐 HDU - 1114

D - 猪钱罐 HDU - 1114 在 ACM 能够开展之前,必须准备预算,并获得必要的财力支持。该活动的主要收入来自于 Irreversibly Bound Money (IBM)。思路很简单。任何时候,某位 ACM 会员有少量的钱时,他将所有的硬币投入到小猪储钱罐中。这个过程不可逆,因为只有把小猪储钱罐打碎才能取出硬币。在足够长的时间之后,小猪储钱罐中有了足够的现金,用于支付 ACM 活动所...

weixin_44745921的博客 242

hdu 1114 && poj 1384 Piggy-Bank

hdu   1114    Piggy-Bank                  题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1114                      题目大意:储蓄罐里有一些硬币,硬币重量已知,所有硬币种类(重量、价值)给出,问这堆硬币最少价值是多少。 题目分析:标准的完全背包,略有不同之处是求最少价值。

slicer的技术交流栈 1301

(完全背包)HDU1114Piggy-Bank

HDU1114Piggy-Bank 题意&思路: 给你存钱罐初始和存钱后的重量E,F,金钱的种类N,每种金钱的价值V和重量W。求最少的价值为多少。 完全背包的模板题,主要注意是他求得是最小值。 代码: #include<bits/stdc++.h> const int N=1e5+10; const int mod=1e7+9; const int maxn=0x3f3f3f3...

Z7784562的博客 234

hdu1114

import java.util.ArrayList; import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String args[]) { Scanner sc = new Scanner(System.in); int max = 0x3f3f3f3f; while (sc.hasNext()) { int cnm = sc.nextI

Loser_LOSERdyh的博客 131

HDU-1114 完全背包

不解释,如不懂参阅网上流传的《背包九讲》。 备战NOIPing :) /* * hdu-1114 piggy-bank * mike-w * 2011-10-10 * ----------------------- * 完全背包 */ #include #incl

Mr. WA's Blog 668

Piggy-Bank/HDU 1114/DP

Piggy-Bank/HDU 1114/DP 题目 Before ACM can do anything, a budget must be prepared and the necessary financial support obtained. The main income for this action comes from Irreversibly Bound Money (IBM)....

weixin_45600829的博客 208
上一篇: HDU2072
下一篇: HDU1006
lulipeng_cpp
博客等级 码龄15年 169粉丝 130原创
评论 6
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值