bzoj 4953 [ACMICPC World Final 2017]Posterize

acmicpc world final2017 数据 资源中有acm icpc world final 2017年世界总决赛除D,G题的数据 立即下载

题意简述

以下只考虑红色值。有nnn个色块,每个色块占cnticnt_icnti​个像素,红色值强度为valival_ivali​。选择kkk个整数v1,v2⋯vkv_1,v_2\cdots v_kv1​,v2​⋯vk​,定义"平方误差"为
∑i=1ncnti×minj=1k{(vali−vj)2}\sum\limits_{i=1}^{n}cnt_i\times min_{j=1}^{k}\{(val_i-v_j)^2\}i=1∑n​cnti​×minj=1k​{(vali​−vj​)2},(意会理解:对于第iii个色块,选择一个vjv_jvj​满足(vali−vj)2(val_i-v_j)^2(vali​−vj​)2最小,然后用这个最小值乘上cnticnt_icnti​,把每个色块得到的这些和加起来)。
合理安排使得"平方误差"最小。

数据

输入

第一行两个正整数n,kn,kn,k
接下来nnn行,每行两个数valival_ivali​和cnticnt_icnti​。保证valival_ivali​ 升序

输出

输出最小的"平方误差"。

样例

输入
2 1
50 20000
150 10000
输出
66670000

输入
2 2
50 20000
150 10000
输出
0

输入
4 2
0 30000
25 30000
50 30000
255 30000
输出
37500000

思路

显然是DPDPDP吧。。。像这种题,题做多了,一样就能看出来应该设dp[i][j]dp[i][j]dp[i][j]为考虑前iii个色块,选择了jjj个整数。显然,答案就是dp[n][k]dp[n][k]dp[n][k]。那么,如何转移呢?

对于dp[i][j]dp[i][j]dp[i][j]我们选择一个断点kkkkkk(为了不和kkk重名),那么此时就要用dp[kk][j−1]dp[kk][j-1]dp[kk][j−1]+(kk+1kk+1kk+1到iii选择某整数的最优解)的值来更新dp[i][j]dp[i][j]dp[i][j]。现在我们发现关键了,(kk+1kk+1kk+1到iii选择某整数的最优解)这个值怎么求?

如果我们要暴力求的话,那么我们的dpdpdp就是四次方的dpdpdp,就会FFT(fast−fast−TLE)FFT(fast-fast-TLE)FFT(fast−fast−TLE)了。所以我们考虑 打表 预处理。首先枚举转移到了哪个点kkkkkk(也是为了不和kkk重名),然后枚举所有区间,一边枚举一遍加上和,然后更新最小值。预处理就是O(n3)O(n^3)O(n3)的了。这样,我们的dpdpdp也就是O(n3)O(n^3)O(n3)的了,能过。

代码:

#include<bits/stdc++.h>
using namespace std;
namespace Flandle_Scarlet
{
    #define N 300
    #define int long long
    int n,k;
    struct col
    {
        int val,cnt;
    }a[N];

    void Input()
    {
        scanf("%lld%lld",&n,&k);
        if (k>=n)
        {
            puts("0\n");
            exit(0);
        }
        //k>=n的情况,直接选择一些整数和n个色块重合,答案就是0了。这个特判掉
        for(int i=1;i<=n;++i)
        {
            int val,cnt;scanf("%lld%lld",&val,&cnt);
            a[i]=(col){val,cnt};
        }
    }

    int dp[N][N];
    int dis[N][N];
    //dis[l][r]表示l到r整体都选择某个点的最小代价
    int sqr(int x){return x*x;}
    void DP()
    {
        memset(dis,0x3f,sizeof(dis));
        for(int kk=0;kk<=256;++kk)
        //枚举断点kk
        {
            for(int i=1;i<=n;++i)
            {
                int ans=0;
                for(int j=i;j<=n;++j)
                {
                    ans+=sqr(a[j].val-kk)*a[j].cnt;
                    //叠加的
                    dis[i][j]=min(dis[i][j],ans);
                    //更新最小值
                }
            }
        }

        memset(dp,0x3f,sizeof(dp));
        dp[0][0]=0;//注意边界!!!
        for(int i=1;i<=n;++i)
        {
            for(int j=1;j<=k and j<=i;++j)
            {
                for(int kk=0;kk<i;++kk)
                {
                    dp[i][j]=min(dp[i][j],dp[kk][j-1]+dis[kk+1][i]);
                    //这个转移就很显然了。。。
                }
            }
        }
        printf("%lld\n",dp[n][k]);
    }
    void Main()
    {
        Input();
        DP();
    }
};
main()
{
    Flandle_Scarlet::Main();
    return 0;
}

基于迁移学习的花卉识别系统 本研究采用了预训练的经典深度学习模型,包括ResNet、AlexNet和VGG,通过微调的方式在Oxford-102数据集和一个自制花卉数据集上进行训练,并对图像进行了多种数据增强操作,以提高模型的泛化能力,致力于实现花卉的高效分类。 阅读详情

相关推荐

传输线的特征阻抗

信号源内阻与所接传输线的特性阻抗大小相等且相位相同,或传输线的特性阻抗与所接负载阻抗的大小相等且相位相同,分别称为传输线的输入端或输出端处于阻抗匹配状态,简称为阻抗匹配。否则,便称为阻抗失配。有时也直接叫做匹配或失配。指一个电路输入端的等效阻抗。在输入端上加上一个电压源U,测量输入端的电流I,则输入阻抗Rin就是U/I。可以把输入端想象成一个电阻的两端,这个电阻的阻值,就是输入阻抗。- 对于电压驱动的电路,输入阻抗越大,则对电压源的负载就越轻,因而就越容易驱动,也不会对信号源有影响;

学海无涯的专栏 4465

2017-acmicpc-world-finals F - Posterize

题意 给n种颜色值,每种颜色值为r[i],数量为p[i],按颜色值递增顺序给出。 现在可以任意制造k个特殊值。 每种颜色值会找到和它差最小的特殊值,然后产生一个(r[i]−k[i])2∗p[i](r[i]−k[i])2∗p[i]( r[i] - k[i] ) ^ 2 * p[i]的权值。 问总权值最小是多少? dp[i][j]表示,到第i个值,分成j段。每段都有一个特殊值。 那么转移方...

GeN的博客 857

Gartner DSG数据安全治理 架构及解读

目录背景:架构图: 解释:英文解释:(自上而下)平衡业务与风险、威胁、合规之间的关系(5个维度之间的平衡)优先处理数据集制定安全策略实施安全工具策略配置同步从上到下,从需求调研开始实施数据安全治理。千万不要跨过数据摸底、治理优先级分析、制定治理整体策略,而直接从技术工具开始对数据安全进行治理。 先明确选择需要治理的对象,优先选择重要数据进行数据安全治理工作。可以通过数据梳理、分类分级等手段,完成数据资产盘点和筛选,在纷杂的数据中理清头绪。

锦慈的技术博客 7218

2017 ACM-ICPC World Finals 题解

先贴官方题解:http://www.csc.kth.se/~austrin/icpc/finals2017solutions.pdf Problem L Visual Python++ bzoj4959 不难发现匹配是唯一的,用set把匹配处理出来之后,横纵坐标各做一次扫描线判有没有相交或者覆盖但是边界相交的情况 O(nlogn)O(nlogn)O(nlogn) code: #inc...

L_0_Forever_LF的专栏 4823

百度文心大模型ERNIE全面解析

文章摘要:本文汇总了多个Python自然语言处理(NLP)工具库的应用实例,涵盖百度文心大模型ERNIE、Hugging Face Transformers、StanfordNLP、SymSpell等主流框架。内容涉及文本预处理、情感分析、命名实体识别、机器翻译、文本纠错等典型NLP任务,并包含ERNIE-Lite、BART、T5等模型的调用示例。各工具库的特色功能包括:ERNIE的知识增强技术、Transformers的多任务统一接口、SymSpell的高效拼写纠正等。文章还提供了知识图谱构建、Rasa对

keny-大成的博客 2526

STM32CubeMx+stm32f407+FreeRTOS+LAN8720实现LWIP以太网UDP TCP数据收发功能

单片机实现LWIP的调试

qq_40600203的博客 3070

YOLOv8交通管理 详细解释及代码完整示例

YOLOv8在交通管理中的应用及代码实现 摘要:本文详细介绍了YOLOv8在交通管理领域的应用场景,包括车辆检测、违规行为识别和行人安全预警等。文章提供了完整的Python代码示例,展示了如何使用YOLOv8进行交通对象检测和车辆计数统计。代码包含模型加载、对象检测、结果可视化等功能模块,并给出了性能优化和功能扩展建议。该实现基于Ultralytics框架,支持多种YOLOv8模型选择,可根据实际需求调整模型大小和检测参数。

u010117029的博客 153

BZOJ 4953: [Wf2017]Posterize

题目在这里呀~ 题意 有256个位置,有n个位置上有人,你可以在至多k个位置上插旗,每个人都会走到离自己最近的旗子,求所有人走的距离的平方和的最小值。 题解 嗯听说这题难在题意??这是WF2017最简单的一道题qwq 一看就是dp吧。fi,jfi,jf_{i,j}表示前i个位置插了j面旗,且第i位置上必须插旗的最小代价。那么转移fi,j=min(fp,j−1+wp,i)fi,j=min(...

七箫. 402

Python高阶爬虫:逆向工程模拟Wind/同花顺等金融终端数据抓取

本文详细阐述了模拟金融数据终端进行数据抓取的全套技术方案。我们从法律合规性讲起,选择了Playwright作为核心自动化工具,通过两个实战案例(同花顺网页版和Wind桌面版)演示了从分析、模拟到数据解析的完整流程,并进一步介绍了构建健壮爬虫系统所需的高级技巧。我们的策略是:启动一个由Playwright控制的浏览器,模拟真人登录,然后监听所有网络请求,从中过滤出我们需要的那个数据API。if key in ['f43', 'f169', 'f170', 'f46', 'f60']: # 价格类字段。

2201_76125261的博客 546

【DaVinci Developer工具实战】03 -导入xml文件

本文档描述了 DaVinci Developer 导入数据的的具体功能 ,它适用于导入AUTOSAR SWC 模板【AUTOSAR XML 文件】 文件。

1991

bzoj4953 [Wf2017]Posterize(区间dp)

首先把原题转化一下,就是有256个位置,有n个位置上有人,你可以在k个位置上插旗,每个人都会走到离自己最近的旗子,求所有人走的距离的平方和的最小值。f[i][j]表示前i个位置,放了j个旗子,其中第i个位置一定放了旗子的最小平方误差,则f[i][j]=min{f[k][j-1]+w[k][i]|j-1<=k< i},其中w[k][i]表示k~i这一段只有k和i位置放了旗子的平方误差。最后统计答案,枚

Icefox的博客 856

基于matlab的形态学的权重自适应图像去噪

数学形态学以图像的形态特征为研究对象,通过设计一套独特的数字图像处理方法和理论来描述图像的基本特征和结构,通过引入集合的概念来描述图像中元素与元素、部分与部分的关系运算。因此,数学形态学的运算由基础的集合运算(并、交、补等)来定义,并且所有的图像矩阵都能被方便地转换为集合。随着集合理论研究的不断深入和实际应用的拓展,图像形态学处理也在图像分析、模式识别等领域起着重要的应用。实验结果表明,如果仅通过串联滤波器去噪,则往往具有一定的局限性,在结果图像中也保留着较为明显的噪声。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 757

ACM-ICPC World Finals 2017 - Need for Speed

Need for Speed 题意:t=(di/(si+c)+…+(dn/(sn+c)));求c。 思路:二分,精度卡的有点厉害,主要是学学做法。 #include&lt;stdio.h&gt; #include&lt;string.h&gt; #include&lt;string&gt; #include&lt;queue&gt; #include&lt;math.h&gt; #inc...

zxy160的博客 880

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ACM-ICPC World Finals 2017 G

Replicate Replicate RfplicbteThe owner of the Automatic Cellular Manufacturing corporation has just patented a new process for the mass production of identical parts. Her approach uses a two-dimension...

Y_AOZHEN的博客 928

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Codeforces Gym 101471D Money for Nothing(2017 ACM-ICPC World Finals D题,决策单调性)

题目链接2017 ACM-ICPC World FinalsProblem D (这题细节真的很多) 把所有的(pi,di)按横坐标升序排序。 对于某个点,若存在一个点在他左下角,那么这个点就是可以去掉的。 因为这个点的答案无论怎么优都劣于他左下角的这个点的答案。 对所有的(qj, ej)也同理。 然后就是一个分治的过程。 solve(L, R, l, r)表示对所有的在...

weixin_30709809的博客 426

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

2016-2017 ACM-ICPC CHINA-Final 部分题解

只会签到qwq

Irving0323的博客 902

BZOJ4953-[Wf2017]Posterize

题解: 据说这题最难是翻译…… 首先把原题转化一下,就是有256256256个位置,有nnn个位置上有人,你可以在至多kkk个位置上插旗,每个人都会走到离自己最近的旗子,求所有人走的距离的平方和的最小值。 考虑dp。 f[i][j]f[i][j]f[i][j]表示前i个位置,放了jjj个旗子,其中第iii个位置一定放了旗子的最小平方误差,则f[i][j]=min(f[k][j−1]+w...

Mi-Queen 424

UVA-1630 Folding (KMP、区间dp)

Folding Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %llu Submit Status Description Bill is trying to compactly represent sequences of capit

lljjccsskk的专栏 432

bzoj4953 [Wf2017]Posterize

http://www.elijahqi.win/archives/662 Description 数字图像的像素可以用三个在0到255之间的整数表示,它们分别表示红色、绿色和蓝色的强度。为了压缩图片或是 为了产生艺术效果,许多图像编辑工具收录了如下所述的”色调分离”操作。每个颜色通道会分别考虑,本题只考虑红 色通道的情况。不同于在红色通道使用0到255之间全部的整数,一张色调分离后的图片...

Elijahqi 429

bzoj3357[Usaco2004]等差数列 DP

简单的dp,一开始处理复杂了。 明显设f[i][j]表示做到第i个差为j,然后有f[i][k]=(f[j][k]+1) 注意一下初值,因为是map所以初值在dp的时候才赋。 数组开大了RE了激发。#include<cstdio> #include<cstring> #include<algorithm> #include<iostream> #include<map> #define fo(i

老臣 499

[World Final 2017 F] Posterize (DP)

#include #define ll long long using namespace std; /*To confirm a set of k elements,   dp is always the best way considering the k elements are in range [0,255].   So we can set dp[i][j],represe

Marco_L_T的博客 1362

2017 ACM-ICPC world final A.Airport Construction 计算几何

链接: Airport Construction 题意: 逆时针给一个简单多边形(不一定为凸多边形)的每一条边,问内部可放置的最长线段的长度。数据保证无两条边共线。 思路: 首先,由于不一定是凸多边形,直接用凸包旋转卡壳求直径方法是不对的。 考虑最长的线段何时取到:假设线段不过两个顶点,其长度总可以通过继续旋转线段使其碰到顶点而继续增大。由反证法可证线段一定过两个顶点。那么线段端点一定...

krypton12138的博客 1905

ACM-ICPC 2017 Asia Urumqi A - Coins 概率dp

用dp[i][j]表示翻第i轮,有j个朝上,这题用往后推的方法比较好写。而不是在前面找。 然后用san[i][j]表示从抛i个硬币,有j个向上的概率,注意这个概率跟那i个硬币原来是正是反没关系。 根据题目的要求,要尽量让向上的硬币多,所以每次尽量选朝下的硬币,但朝下的硬币可能不够,所以 dp里往后推的时候要分两种情况 1. 朝下硬币够k个,那么dp[i][j]*san[k+1][l+1] ...

GeN的博客 535

[BZOJ]4953: [Wf2017]Posterize DP

DP

TYB的博客 659

bzoj 4953: [Wf2017]Posterize(DP)

4953: [Wf2017]Posterize Time Limit: 4 Sec  Memory Limit: 1024 MB Submit: 102  Solved: 46 [Submit][Status][Discuss] Description 数字图像的像素可以用三个在0到255之间的整数表示,它们分别表示红色、绿色和蓝色的强度。为了压缩图片或是为了产生艺术效果,许多图像编

加载中... 500
上一篇: 洛谷 2887 USACO2007NOV 防晒霜Sunscreen 题解
下一篇: bzoj 2467 [中山市选2010]生成树 题解
LightningUZ
博客等级 码龄9年 33粉丝 254原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值