首页 > 其他分享 >Job Lookup

Job Lookup

时间:2024-08-05 14:30:31浏览次数:11  
标签:于是 花费 sum uv 贡献 Job cost Lookup

不难发现题目要求构造的树是一颗二叉搜索树,于是考虑在升序排列上构造

考虑谁作为树根,不难发现这个过程很像区间DP,设当前枚举的树根为\(l\),我们只要能够\(O(1)\)计算\([1,l-1]\)和\([l+1,n]\)中间的贡献就可以转移了

当然还要消除后效性,于是考虑分配花费。不难想到类似树上染色的分配方案,于是做如下分配:假设已经确定了最终的树,对于两个点\(u,v\),他们的花费是\(d_{uv}\cdot c_{uv}\),我们将\(u\)到\(v\)的每一条边的贡献加上\(c_{uv}\),于是最终的总花费等于这棵树所有边的贡献之和

于是就可以进行DP转移了。设\(f[l][r]\)表示将区间\([l,r]\)构建成一颗BST,其所有边的最小贡献。枚举根节点\(k\),则\(f[l][r]=\min(f[l][k-1]+f[k+1][r]+cost_1+cost_2)\),其中\(cost_1\)表示\([l,k-1]\)的所有点与除了\([l,k-1]\)之外的点构建联系所经过的\(k\)与其左子节点的边的花费,\(cost_2\)类似

形式化地,$$cost_1=\sum_{i=l}^{k-1}sum_{i,l-1}+sum_{i,n}-sum_{i,k-1}$$,其中

\[sum_{i,j}=\sum_{k=1}^{j}c[i][k] \]

标签:于是,花费,sum,uv,贡献,Job,cost,Lookup
From: https://www.cnblogs.com/dingxingdi/p/18343143

相关文章

  • redis+xxl-job初步设计点赞功能
    一般情况下点赞业务涉及以下下几个方面:1.我们肯定要知道一个题目被多少人点过赞,还要知道,每个人他点赞了哪些题目。2.点赞的业务特性,频繁。用户一多,时时刻刻都在进行点赞,收藏等等处理,如果说我们采取传统的数据库的模式啊,这个交互量是非常大的,很难去抗住这个并发问题,所以我们......
  • windows hbase连接工具 hbase连接数过多, yarn job HBase hdfs zookeper
    windowshbase连接工具hbase连接数过多##1.ZK连接过多1)查看ip连接数前十  登录后复制netstat-na|grep2181|awk'{print$5}'|awk-F:'{print$1}'|sort|uniq-c|sort-rn|head-n101.##2.补数操作登录后复制hbaseorg.apache.hadoop.hbase.mapreduce.Co......
  • springboot系列教程(二十二):springboot整合QuartJob,实现定时器实时管理
    一、QuartJob简介1、一句话描述Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大。2、核心API(1)、Scheduler代表一个Quartz的独立运行容器,Scheduler将Trigger绑定到特定JobDetail,这样当Trigger触发时,对应的Job就会被调度。(2)、Trigger描......
  • k8s cronjob执行时间
    问题现象一般cronjob执行时间会比预期晚8小时。问题分析cronjob执行时区以kube-controller-manager为准,而kube-controller-manager默认是0时区。解决问题解决方式1kube-controller-manager容器挂载宿主机timezone,更改为东8区。解决方式2cronjob执行时间比预期减8小时。解决方......
  • Elasticjob执行job幂等
    ElasticJob的幂等机制,是指作业分片执行的幂等,他需要做到以下两点:同一个分片在当前作业实例上不会被重复执行一个作业分片不能同时在多个作业实例上执行如何实现幂等场景模拟:存在任务A执行周期为10s一次。正常情况下任务处理耗时3-5s。但是某一时刻因为数据量突然增大或......
  • 使用elasticjob-lite-spring-boot-starter 3.0.1,“事件追踪“不起作用问题,
    版本<dependency><groupId>org.apache.shardingsphere.elasticjob</groupId><artifactId>elasticjob-lite-spring-boot-starter</artifactId><version>3.0.1</version></dependency>解决方案增加配置 overwrite源码的原因:如果ove......
  • Android 14 适配之— BluetoothAdapter、JobScheduler、 Tiles
    1. BluetoothAdapter改动:在BluetoothAdapter中必须加入 BLUETOOTH_CONNECT权限 Android14(API级别34)或更高版本为目标的App,在调用函数 BluetoothAdapter getProfileConnectionState() 时,需要 BLUETOOTH_CONNECT 权限,<uses-permissionandroid:name="android......
  • salesforce 通过 schedule job 去执行需要http访问外部网站的代码并更新自定义字段有
    在Salesforce中使用定时调度(ScheduledJobs)执行需要HTTP访问外部网站的代码,并更新自定义字段时,可能会面临以下一些常见的失败原因:网络访问限制:Salesforce的安全设置可能会限制对外部网站的HTTP访问。确保你的Salesforce实例可以安全地访问目标网站,通常需要配置网络代理或......
  • Tool-Gitlab-CICD-jobs-删除或清空
    Tool-Gitlab-CICD-jobs-删除或清空清空GitLab项目中所有的CI/CDJobs列表或者说是清除Pipeline的历史记录,可以通过GitLab的Web界面或者API来实现。注意:会删除Pipeline的记录和相关联的Job日志、Artifacts等信息,操作前请确保已经做好相应数据的备份。通过Web界面清空登录到Git......
  • xxl-job使用记录
    xxl-job对比@Scheduled的优势:xxl-job在分布式环境下不会重复执行,@Scheduled只适用单节点应用,不能在多节点环境用。xxl-job有页面,能传参,能配置多任务顺序执行1、github下载xxl-job项目 https://github.com/xuxueli/xxl-job/2、修改项目的配置文件,数据库,端口,日志路径等3、自己项......