首页 > 其他分享 >2024.08 别急记录

2024.08 别急记录

时间:2024-08-07 14:18:58浏览次数:15  
标签:1.0 别急 记录 int sum 2024.08 long second

1. ARC072F - Dam

发现当 \(t\) 递增时优先倒掉前面的,再选后面的;否则优先选后面的,再一起倒掉。所以维护单调队列中 \(t\) 递增,每次弹出队首 \(>L\) 的部分,然后插入队尾。若队尾 \(t_{i-1}>t_i\) 则将两个合并。

点击查看代码
//AT_arc072_d
#include <bits/stdc++.h>
using namespace std;

const int N = 1e6 + 10;
int n, L, v[N];
double t[N];
typedef long long ll;
pair<double, int> q[N];
int l = 1, r;

int main(){
    scanf("%d%d", &n, &L);
    for(int i = 1; i <= n; ++ i){
        scanf("%lf%d", &t[i], &v[i]);
    }
    q[++r] = make_pair(t[1], v[1]);
    double sum = t[1] * 1.0 * v[1];
    printf("%.9lf\n", sum / L);
    for(int i = 2; i <= n; ++ i){
    	int nw = v[i];
    	while(nw){
    		int mn = min(q[l].second, nw);
    		sum -= q[l].first * mn;
    		q[l].second -= mn;
    		nw -= mn;
    		if(!q[l].second){
    			++ l;
			}
		}
		while(l <= r && q[r].first >= t[i]){
			t[i] = (q[r].first * q[r].second + t[i] * v[i]) * 1.0 / (q[r].second + v[i]);
			v[i] += q[r].second;
			sum -= q[r].first * q[r].second;
			-- r;
		}
		q[++r] = make_pair(t[i], v[i]);
		sum += t[i] * 1.0 * v[i];
		printf("%.9lf\n", sum / L);
	}
    return 0;
}

标签:1.0,别急,记录,int,sum,2024.08,long,second
From: https://www.cnblogs.com/KiharaTouma/p/18346948/2024-08

相关文章

  • 算法力扣刷题记录 六十八【131.分割回文串】
    前言回溯章节第六篇。切割问题。记录六十八【131.分割回文串】。一、题目阅读给你一个字符串s,请你将s分割成一些子串,使每个子串都是回文串。回文串指字符串从前读和从后读一样。返回s所有可能的分割方案。示例1:输入:s="aab"输出:[["a","a","b"],["aa","b"]]......
  • MYSQL死锁分析案例二(高并发增删改同一条记录)
    1、建表CREATETABLE`t1`(`id`intNOTNULL,`name`varchar(200)DEFAULTNULL,`age`intDEFAULTNULL,PRIMARYKEY(`id`),KEY`idx111`(`name`),KEY`idx_age`(`age`))ENGINE=InnoDBDEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_0900_ai_ci2、数据......
  • Codeforces Round 964 (Div. 4) 补题记录(A~G2)
    难绷事实:Bwa一发A......#include<bits/stdc++.h>#definepbpush_back#defineintlonglongusingnamespacestd;constintN=500100;inta[N];signedmain(){intT;cin>>T;while(T--){intn;cin>>n;strings=......
  • 漏洞复现--实验记录(MS12-020、MS14-064)
    漏洞复现一、MS12-020(蓝屏攻击)漏洞1.原理2.实验环境3.漏洞复现1、开启win2003的远程桌面:控制面板-->系统-->远程-->远程协助-->远程桌面2、控制面板-->windows防火墙-->例外-->远程桌面3、用nmap扫描靶机,发现靶机的3389端口已经打开4、在kali的终端中打开msfconsole5、......
  • pg一些常用语句记录
    查看数据库大小pg_size_pretty:将数据库用量展示为KB、MB、GB等样式,查看更直观查看具体某个数据库的大小selectpg_size_pretty(pg_database_size('postgres'));查看所有数据库的大小selectpg_database.datname,pg_size_pretty(pg_database_size(pg_database.datna......
  • STM32学习记录(八):DMA
    什么是DMA?DMA在之前的学习中已经用过了。那么,什么是DMA?Directmemoryaccess(DMA)isusedinordertoprovidehigh-speeddatatransferbetweenperipheralsandmemoryaswellasmemorytomemory.DatacanbequicklymovedbyDMAwithoutanyCPUactions.This......
  • Python-记录一次迭代求和
    importitertoolsdefget_result(hope,list_input):""":paramhope:#期望相加所得参数:paramlist_input:#所有数值:return:"""defgenerate_combination(items,length):forcombinationinitertools.co......
  • Java使用POI导出excel记录
    eg:@OverridepublicvoidexportExcel(HttpServletResponseresponse)throwsException{//创建Excel文档XSSFWorkbookworkbook=newXSSFWorkbook();XSSFSheetsheet=workbook.createSheet("设备厂商");//创建表头XSSFRow......
  • Plugin Boutique Scaler EQ V1.1.3_WIN-TCD&MAC-HCiSO(2024.08更新),持续更新长期有效
    一。PluginBoutiqueScalerEQ1.1.3WIN-TCD&MAC-HCiSO   紧随屡获殊荣的音乐理论插件Scaler之后,ScalerEQ以一种引人注目的全新方式提供了音乐性和色彩的均衡。ScalerEQ是PluginBoutique推出的一款创新均衡器插件,结合传统和和声均衡功能,专注于音乐理论,为音乐制作和混......
  • Mybatis 记录
    1.根据列表批量修改voidsecretKeySequence(@Param("list")List<IndustrialShareDto>list);<updateid="secretKeySequence">updatecloud_industrial_setset`index`=case<foreachcollection="list"it......