hdu 4412 Sky Soldiers (dp)

Pytorch中CrossEntropyLoss()详解 交叉熵主要是用来判定实际的输出与期望的输出的接近程度。举个例子:在做分类训练的时候,如果一个样本属于第 K 类,那么这个类别所对应的输出节点的输出值应该为1,而其他节点的输出都为0,即 [0,0,1,0,….0,0] ,这个数组也就是样本的 Label,是神经网络最期望的输出结果。我们用交叉熵损失函数来衡量网络的实际输出与正确标签的差异,利用这种差异经过反向传播去更新网络参数。交叉熵:它主要刻画的是实际输出(概率)与期望输出(概率)的距离,也就是交叉熵的值越小,两个概率分布就越接近。 阅读详情

具体思路的解释见  http://hi.baidu.com/renxl51/item/d7437a30bca43883f4e4ad0d

f[i][j] 表示用j个点覆盖前i个点。  f[i][j]=min{ f[k][j-1] + cost }  ( j-1 <= k <= i-1 )   就是枚举第j个点覆盖了从第k+1个点到第i个点  ,  其中cost的计算可以利用单调性


#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<map>
#define INF ((1<<23)-1)
using namespace std;
map<int ,double> mp;
double f[1010][60];
typedef struct
{
    int x; double p;
}Point;
Point pt[1010];
int kk,m;

void initial()
{
    for(int i=0;i<=1000;i++)
        for(int j=0;j<=50;j++)
            f[i][j]=INF;
    for(int i=0;i<=m;i++)
        for(int j=i;j<=m;j++)
            f[i][j]=0.0;
}

int main()
{
    int k,i,j,l,x; double p;
    while( scanf("%d%d",&kk,&m),kk+m )
    {
        mp.clear();
        initial();
        for(i=1;i<=kk;i++)
        {
            scanf("%d",&l);
            for(j=1;j<=l;j++)
            {
                scanf("%d%lf",&x,&p);
                mp[x]+=p;
            }
        }
        map<int,double>::iterator it;
        j=1;
        for( it=mp.begin(); it!=mp.end();it++,j++)
        {
            pt[j].x=(it->first);
            pt[j].p=(it->second);
        }
        int n=j-1;
        for( i=1;i<=n;i++ )
        {
            for(j=1;j<=m && j<=i; j++ )
            {
                f[i][j]=INF;
                double pre=0.000,suf=0.000;
                int cur=i; double add=0.000;
                for(k=i-1;k>=j-1;k--)
                {
                    if( k+1 != i )
                    {
                        pre+=pt[k+1].p;
                        add+=pt[k+1].p*(pt[cur].x-pt[k+1].x);
                    }
                    while( pt[cur].p+suf < pre )
                    {
                        suf+=pt[cur].p;
                        cur--;
                        pre-=pt[cur].p;
                        add-=pt[cur].p*(pt[cur+1].x-pt[cur].x);
                        add+=pt[cur+1].p*(pt[cur+1].x-pt[cur].x);
                        add-=pre*(pt[cur+1].x-pt[cur].x);
                        add+=(suf-pt[cur+1].p)*(pt[cur+1].x-pt[cur].x);
                    }
                    f[i][j]=min(f[i][j],f[k][j-1]+add);
                }
            }
        }
        printf("%.2lf\n",f[n][m]);
    }
    return 0;
}


FPGA JTAG接口设计全解析 JTAG是FPGA开发的核心接口,主要用于代码下载和在线调试。14-pin设计中包含TCK、TMS、TDI、TDO四个关键信号,采用信号-地布局增强抗干扰能力,TCK建议串联电阻。10-pin设计需注意转接适配,并推荐使用RCLAMP0524P等低电容TVS二极管进行ESD防护。两种接口设计都强调信号完整性和可靠性,建议PCB布局时保持JTAG走线短且预留调整空间。 阅读详情

相关推荐

Datawhale~数据挖掘实践之序列问题处理~天池·资金流入流出预测-挑战Baseline~Day01~数据探索与分析

写在前面✍ 本系列笔记基于天池平台上“资金流入流出预测-挑战Baseline”学习赛,记录如何完整的打一次数据挖掘类比赛。同时,该比赛属于序列建模问题,希望学习完成这个任务,可以对序列问题的处理有一定的独立思考能力和实践操作能力,可以将所学理论,用编码的形式和实际的问题得到深入。 第一篇,EDA Content: 初步了解赛题及数据 1.1 任务 1.2 用户基本信息数据 1.3 用户申购赎回数据 1.4 收益率表 1.5 银行间拆借利率表 1.6 提交格式 1.7 评分指标 EDA 1 初.

小卜妞的博客 2358

**HDU 4412 - Sky Soldiers(区间DP)

题目: 点击打开链接 题意: 有n个飞行员,每个飞行员都有c个落点和相应的概率,要建立m个补给站,使得n个飞行员到达补给站的期望值最小。 思路: dp[i][j] 表示前i个落点建立j个补给站的最小期望值。 dp[i][j] = min(dp[k][j-1], cost[k][i] ) 。 cost[k][i] 表示区间(k,i)建立1个补给站供给此区间中的飞行员的期望值。 期

Halo 593

数学建模传染病模型_【数学建模】之传染病模型

点击【拇指笔记】,关注我的公众号。SE模型缺点:没有考虑接触到的人中还有一部分病人,所以所有人并不会全部被感染。建立模型:已感染人数(病人)每个病人每天有效接触(足以使人致病)人数为根据(1)(2)可以建立模型:等式两边同时除以\Delta t由导数定义有同时,取\Delta t = 1天由(1)(5)两式可得最终的模型:Logistic模型缺点:区分已感染者(病人)和未感染者(健康人)...

weixin_39590453的博客 2227

hdu4412 Sky Soldiers

Sky Soldiers Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 926    Accepted Submission(s): 350   Problem Description An ai...

qq_41510496的博客 288

关于使用EB tresos出现无法激活的情况解决

我在安装eb studio时就是在激活方面有问题导致无法使用,下面讲解出现了什么问题以及我如何去解除的。EB安装完成时需要激活才能使用的,不然都打开或者建立不了工程,一直都是报的dns服务器错误,好的,那我改dns服务器地址。填写dns服务器地址,也可以换成别的,自己百度一下适合自己的。这是解决方案哈哈哈哈。

weixin_43673603的博客 6182

uniapp(全端兼容) - 最新详细实现双色球开奖走势图功能组件,uni-app红球走势图/蓝球走势图,解决双色球 “蓝球连线“ 问题,双色球效果及用线连接每个号码详细教程(同样适用于彩票开奖走势图

uni-app,双色球,安卓app,苹果app,微信小程序,移动端,H5网页,手机网站,微信小程序、支付宝小程序,手机app端,nvue,红球走势,蓝球走势,连线,uniapp(vue):js实现双色球开奖走势图带连线,vue2,vue3,uniApp双色球组件插件,uniapp如何实现双色球走势图和连线,彩票走势图,前端 Vue实现彩票走势图,详细示例,走势图,彩票项目,绘制股票走势图,前端 JS实现彩票开奖走势图 连线,Uniapp有没有双色球的页面代码,红球蓝球的走势图如何做,双色球红球和值尾走势图,

✅ 精选推荐文章 3345

北大oj 1723 SOLDIERS

题意分析: 这道题是说:有n士兵分布在一个二维的平面上,现要求让这些站成平行于x轴的一排,即(x,y),(x+1,y),(x+2,y)....问如何移动这些士兵,使他们的移动步数最小。设他们没移动一下为一。我们分析可得,沿y轴移动,他们都统一移动到中位数的位置,上下移动的步数石最小的。因为沿x轴的位置是相邻的,我们可以设这些士兵当前在x轴上的位置分别为:x1,x2,x3....然后映射到x1 -

小冷在努力~ 711

基于模糊神经网络实现水质评价预测 - Matlab源码

首先定义输入层、隐含层和输出层的节点数,并初始化权重和阈值,然后开始训练模型,在每轮训练中通过比较模型的输出值与实际值的误差来更新权重和阈值,直到误差达到最小值,为了提高模型的性能,我们可以采用交叉验证等技术进行优化。首先需要准备好数据集,使用的是嘉陵江的水质监测数据集,数据集包含了多个指标,如 pH 值、溶解氧、总氮、总磷等,以及相应的水质等级,我们需要将数据集分为训练集和测试集。在当今环境日益恶化的情况下,水质监测变得越来越重要,模糊神经网络作为一种新型的。

weixin_50547796的博客 147

hdu 4412 DP

话说这题第一眼看去 像以前的POJ上一道四边形优化的题目  不过没有权重 所以一个区间最优点不是在中位数上  但是可以确定的是 他的答案是有单调性的 V型  然后肯定可以在点上 。 那么处理出一段区间 就是简单的dp了。 (~~~~~~不知道为什么从前往后推 cost  一直都错,结果参考了别人的代码才过的 = = !! 写法的问题 果然还是太菜了) cost 是可

447

高精地图构建:Lidar SLAM与视觉SLAM对比

高精地图构建:Lidar SLAM与视觉SLAM对比​ ,人工智能,计算机视觉,大模型,AI,本文围绕高精地图构建,对比 Lidar SLAM 与视觉 SLAM。Lidar SLAM 通过激光获取点云数据,精度高、环境适应性强但成本高、数据量大;视觉 SLAM 利用图像,成本低、信息丰富却受光照影响大、深度获取难。还解析了 SLAM、点云等关键概念,介绍了两者融合趋势、应用案例、技术挑战及未来方向,也给出常见问题解答,为相关领域应用与学习提供参考。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 17万+

AttributeError: module ‘lib‘ has no attribute ‘X509_V_FLAG_CB_ISSUER_CHECK‘解决方案

本文主要介绍了AttributeError: module ‘lib’ has no attribute 'X509_V_FLAG_CB_ISSUER_CHECK’解决方案,希望能对使用python的同学们有所帮助。 文章目录 1. 问题描述 2. 解决方案

weixin_43178406的博客 5万+

hdu 4412 Sky Soldiers(区间DP)

题目问题抽象之后为:在一个x坐标轴上有N个点,每个点上有一个概率值,可以修M个工作站,                      求怎样安排这M个工作站的位置,使得这N个点都走到工作站的距离期望值最小? 解题报告人:SpringWater(GHQ) 解题思路:状态方程:dp[i][j]  =  min{ dp[i - 1][k - 1]  + cost[k][j]   }dp[i][

SprintfWater的专栏 1206

【GameFramework框架内置模块】17、声音(Sound)

声音(Sound)模块是管理音频的模块,比如播放、停止、修改音量等,支持淡入淡出、AudioMixer等高级设置。声音(Sound)的配置面板如下所示:所有的声音统一按照组来分,可以根据需要添加或者溢出组,声音组可以配置Agent的数量和音量等。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1912

HDU 4412 Sky Soldiers(区间DP)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4412   题意:n个跳伞者,落地后,每个跳伞者可能会落在若干个点上,落在每个点都有一个概率(所有人都会落在x轴上)。现在在x轴上建立m个大本营,每个跳伞者走到最近的大本营。确定大本营建立的地点使得所有跳伞者所走的路程的期望最小?   思路:题目最后等价于若干个点,每个点有一个权值。设dp[i]...

weixin_33946020的博客 155

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

HDU 4412Sky Soldiers(区间DP 同1227)

题意: 略。 思路: 【区间DP】同hdu1227 Mark:比赛的时候直接 没有读懂题意啊!!!最近怎么老是读不懂题意了? 1 #include<stdio.h> 2 #include<math.h> 3 #include<string.h> 4 #include<algorithm> 5 #defin...

dechi5213的博客 144

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

HDU-4412 Sky Soldiers(区间DP)

题意:有k个空兵跳伞,第i个空兵有Li个位置可能会降落,降落在第j个位置xi,j的概率为为Pi,j,(保证(Σ(j=1,Li)Pi,j)=1)现在需要在坐标轴放置m个任务点,每个空兵降落后会往离自己的任务点走去,求每个空兵行走距离总和的期望值最小是多少。(1&lt;=k&lt;=1000,1&lt;=50&lt;=m,m&lt;=∑(i=1,k)Li&lt;=1000)首先,如果有多个空兵可能落在...

Paulliant的博客 281

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

hdu 4412 Sky Soldiers DP

动态规划,主要是用单调性求区间的最小期望。 代码如下: 1 #include<iostream> 2 #include<stdio.h> 3 #include<algorithm> 4 #include<iomanip> 5 #include<cmath> 6 #include<cstring...

weixin_30782331的博客 122

hdu 4412 Sky Soldiers (区间dp 单调性)

Sky Soldiers Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 556    Accepted Submission(s): 179 Problem Description An airplane car

To be what you what to be! 1346

斜率优化DP

引用一片经典的文章:http://blog.sina.com.cn/s/blog_508dd1e60100tvk0.html  最近发现HDU上的题目ms比POJ上的好些似的, 因为每次都是一道题搞一天。 也说明我真的还是很菜啊。 昨天搞了一道题,一道最短路的题目,弄了一天。其实最主要的原因是没有搞清楚Dijkstra、SPFA、Bellman_ford这几个最短路算法的复杂度。这里作个

Balloons2012的专栏 7793

2011年全国大学生程序设计邀请赛(福州)——Tiling

TilingTime Limit: 1000msMemory Limit: 32768KBThis problem will be judged on FZU. Original ID: 204064-bit integer IO format: %I64d      Java class name: MainPrev Submit Status Statistics Discuss NextFo

Balloons2012的专栏 2290

poj1947(树形dp)

f[i][j]表示以i为根的树保留j个节点所需要剪断的最少的边数; 状态转移方程:f[i][j]=min( f[i.son][k]+f[i][j-k]-1,f[i][j] ) 之所以有减1是因为计算f[i][j-k]时是把i->i.son的边剪断了的。#include #include #define min(x,y) ((x)<(y)?(x):(y)) typedef struct {

Balloons2012的专栏 1702

hdu 2829

f[i][j] 表示到j为止,前面断了i条路的最小值; dp方程:f [i][j]= min {  f[i-1][k] + cost( k+1 , j )  }  ( i 这是n^3的dp,可以用斜率优化为n^2;    主要是求出 cost( k+1 , j )的表达式。  求出表达式后就可以设出x和y以及斜率K;    判断一下x或者y是否单调,以及k是否单调。 然后就基本上是套模板了。

Balloons2012的专栏 1178

hdu 2993

这个应该就是斜率优化了。(由于用到单调队列,好像也有叫单调队列优化的) 题目的意思很简单,给出N个正整数,求最大的,长度大于K的某一段的平均值。设部分和数组为S,则容易得到方程 (S[j]-S[i-1])/(j-i+1),这可以看做(i,S[i])和(j,S[j])的斜率,那么问题转化为求n个点中水平距离至少为k的最大斜率。 #include #define LL long long ty

Balloons2012的专栏 1154

hdu 4359 Easy Tree DP?

f[i][j]表示i个节点构造的深度小于等于j的二叉树的种数。 题目要求的就是 f[N][D] - f[N][D-1] 则状态转移分为两种情况: 情况一:当前节点i只有一颗子树,则f[i][j]=C[i][i-1]*f[i-1][j-1]*2; 乘以2是因为左右两棵子树的情况。C表示组合数。 情况二:当前节点有两棵子树,则由于题目条件限制,右子树的和大于左子树(即除了根节点外剩下的最大值必须

Balloons2012的专栏 1121
上一篇: hdu 2844(背包)
下一篇: KMP
Balloons2012
博客等级 码龄14年 9粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值