20190105 地中海气候

CodeForces1046B Hyperspace Highways 传送门 题意: N个点,M条边,每一个环上的点两两有边相连。q次询问两点间最短距离。 题解: 构造圆方树,那么两点间距离感性认知一下就可以发现是树上两点间距离的一半。然后 dist(u,v)=(dep[u]+dep[v]-2*dep[lca])/2即可。 继续存板子。 代码: #include<cstdio> #include<algorithm> #define maxn... 阅读详情

题意:
题面
数据范围

题解:
这名称真是对一个在大半个月前会考了的理科生极度不友好。
sb题没看出来我是不是该原地退役了啊
显然有一个贪心策略:每次拿走最大的数。然后就有了50%的暴力做法:用优先队列维护。
但是这O(nklog⁡n)O(nk\log n)O(nklogn)显然过不去。我们需要砍掉一个log。

然后就是我考试时想了很久都没想出来的一坨东西。
每次还有元素时我们拿掉一个元素之后会补上一个元素对吧。
我们假装把集合的大小-1.然后另外维护一下在集合中的数的最大值和每个数出现在集合的次数。每进来一个数就和最大值比一下大小。
如果这个数比最大值还大,那么取这个数。
否则取最大值,修改cnt。如果cnt=0,暴力修改最大值。然后就变成O(nk)O(nk)O(nk)了。
为什么要-1?因为要先取数再补上。这样的话就相当于是题目中的操作了。在上述第一种情况中就是取走了集合中最后加进来的那个数。第二种情况就是取走了前面加进来的一坨数之一。

代码:(有一坨数组是没用的)

#include<cstdio>
#include<cstring>
#include<queue>
#include<algorithm>
#define maxn 100005
#define LL long long
using namespace std;
int n,k,a[maxn],a1[maxn],rk[maxn],b[maxn],cnt[maxn];
priority_queue<int> q;
int main()
{
	scanf("%d%d",&n,&k);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	while(k--)
	{
		int siz,maxx=0,trn=0; LL sa=0,sb=0;
		scanf("%d",&siz);
		for(int i=1;i<siz;i++) cnt[a[i]]++,maxx=max(maxx,a[i]);
		for(int i=siz;i<=n;i++)
		{
			if(a[i]>=maxx)
			{
				if(!trn) sa+=a[i];
				else sb+=a[i];
			}
			else
			{
				if(!trn) sa+=maxx;
				else sb+=maxx;
				cnt[maxx]--,cnt[a[i]]++;
				if(!cnt[maxx])
					for(;maxx&&!cnt[maxx];maxx--);
			}
			trn^=1;
		}
		for(int i=maxx;i;i--)
			for(;cnt[i];cnt[i]--)
			{
				if(!trn) sa+=i;
				else sb+=i;
				trn^=1;
			}
		printf("%lld\n",sa-sb);
	}
}
oj-【基础图论】最优布线问题 题目描述 学校有n台计算机,为了方便数据传输,现要将它们用数据线连接起来。两台计算机被连接是指它们中间有数据线连接。由于计算机所处的位置不同,因此不同的两台计算机的连接费用往往是不同的。 当然,如果将任意两台计算机都用数据线连接,费用将是相当庞大的。 为了节省费用,我们采用数据的间接传输手段,即一台计算机可以间接的通过若干台计算机(作为中转)来实现与另一台计算机的连接。 现在由你负责连接这些计... 阅读详情

相关推荐

作业-合并果子(fruit)

题目描述 在一个果园里,多多已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆。 多多决定把所有的果子合成一堆。每一次合并,多多可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。可以看出,所有的果子经过n-1次合并之后,就只剩下一堆了。多多在合并果子时总共消耗的体力等于每次合并所耗体力之和。因为还要花大力气把这些果子搬回家,所以多多在合并果子时要尽可能地节省体力。 假定每个果子...

dogeding233 936

testse

mic 景天倒掉了 

天使之城市<-Ts先生 1377

openjudge-noi-3.6-1758:二叉树

总时间限制:  1000ms  内存限制:  65536kB 描述 如上图所示,由正整数1, 2, 3, ...组成了一棵无限大的二叉树。从某一个结点到根结点(编号是1的结点)都有一条唯一的路径,比如从10到根结点的路径是(10, 5, 2, 1),从4到根结点的路径是(4, 2, 1),从根结点1到根结点的路径上只包含一个结点1,因此路径就是(1)。对于两个结点x和y,假设他们到...

dogeding233 932

你所不知道的良心网站第一弹

目录前言站长工具(tool.chinaz.com)多吉搜索(www.dogedoge.com)蜜柑计划(mikanani.me)果核剥壳(www.ghpym.com)中国色(zhongguose.com)表情包(www.b7.cn)嘿嘿(www.galmoe.com)兔二工具(tool2.cn)后言 前言 hi,大家好,本次给大家带了的是非常实用并且好玩的东西, 大家都知道自己是可以建站的,并且还...

旺旺的博客 1万+

模拟考试9.3-笨笨的西瓜种植(watermelon.cpp)

   所有测试点时限都是 1秒,所有程序运行时内存都不能超过 256MB。 在模拟考试其他题目中不再赘述。 【题目描述】 笨笨种了一块西瓜地,但这块西瓜地的种植范围是一条直线的…… 笨笨在一番研究过后,得出了m个结论,这m个结论可以使他收获的西瓜最多。 笨笨的结论是这样的: 从西瓜地B处到E处至少要种植T个西瓜,这个范围的收获就可以最大化。 笨笨不想那么辛苦,所以他想种植的西瓜尽量少,而又...

dogeding233 779

STM32G474实战:数字LLC电源控制程序从零到跑通(附完整代码解析)

本文详细介绍了基于STM32G474微控制器开发数字LLC电源控制程序的完整实战流程。从硬件平台搭建、CubeMX工程配置,到核心控制逻辑、双速率中断框架、数字PID实现,再到Burst模式、状态机等高级策略与异常处理,提供了从零到跑通的系统化指南与代码解析,助力开发者掌握高效数字电源的程序编写与调试技巧。

s1t2u3的博客 1238

hdu4847 Wow! Such Doge!(简单题+坑爹的输入)

hdu4847 Wow! Such Doge!(简单题+坑爹的输入)

2926

统信UOS开发环境支持Java

集成了JDK和多种IDE,为开发者提供了从代码编写、编译、调试到部署的一站式开发解决方案。

RZer的博客 2254

Reverse Linked List

/// 实现链表反转的两种方法 /// 1. 创建新链表 struct ListNode* reverseList(struct ListNode* head) { if(head == NULL) return NULL; struct ListNode* nlist = NULL; for(struct ListNode* p = head;p;){

此博客停止维护和更新,已转移https://github.com/ilvseyinfu/blog 392

视觉Transformer实战 | Token-to-Token Vision Transformer(T2T-ViT)详解与实现

Vision Transformer (ViT) 在计算机视觉领域取得了巨大成功,但标准的 ViT 存在一些局限性,如需要大规模预训练数据、对局部结构建模不足等。Token-to-Token ViT (T2T-ViT) 通过引入渐进式分词过程改进了原始 ViT,使其能够在中小型数据集上取得更好的性能。本节将详细介绍 T2T-ViT 的技术原理,并使用 PyTorch 从零开始实现 T2T-ViT。

盼小辉丶的博客 4万+

SpringBoot一次请求中缓存数据,请求结束就清除的4种方法,你会几种?

通过以上四种方法,你可以在 SpringBoot 的一次请求中缓存数据,并在请求结束后自动清除这些缓存数据。使用 ThreadLocal:适用于需要跨多个方法调用的缓存数据,灵活性高,但需要注意内存泄漏问题。使用 AOP:适用于全局性的缓存管理,代码更加优雅,但需要对 AOP 有一定的了解。使用 ServletRequestListener:适用于简单的请求生命周期管理,配置简单,但功能相对有限。使用 HttpServletRequest 的 setAttribute 和 getAttribute。

java专栏 1295

激活PHPStorm 2016.3

通过互联网激活PHPStorm 2016.3: http://jetbrains.tencent.click http://172.245.22.235:1017 http://idea.imsxm.com/ http://mcpmcc.com:1017 本地激活PHPStorm 2016.3(不上网): 加载文件LocalServer.zip 解压压缩文件,并选...

weixin_30379973的博客 237

手把手教你学SIMULINK模块库文件专栏--Scope 模块详解

模块是 Simulink 中的一个信号接收模块,用于实时显示信号波形。该模块可以捕捉并可视化仿真过程中信号的变化,帮助用户直观地分析系统的动态行为。模块都能提供强有力的支持。通过深入了解其参数的影响及结合 MATLAB 脚本的应用,读者可以更加有效地利用这一模块进行仿真和研究。此外,通过实际应用场景的扩展以及常见问题解答部分的帮助,能够更好地掌握。模块是一个非常实用的工具,适用于需要实时显示信号波形的各种场景。模块的参数,可以进一步增强学习体验。模块参数的影响,下面我们将详细探讨每个参数如何影响波形显示。

MHD0815的博客 312

推荐国内外几大知名域名交易平台

对于入行已久的广大米农米商来说,国内国外哪几家较大的域名交易平台最具影响力已经是了然于胸,而新入行的域名爱好者及多数企业老板却未必能像咱们一样清楚,对他们来说,选择安全并适合自己的优质域名交易平台尤为重要。希望笔者对几大域名交易平台的看法能为他们提供参考:   一、国外最大的域名交易平台www.sedo.com   Sedo是一家德国公司,现在已经发展为在美国和英国都有分支机构的国际性

那个谁的空间 2万+

YOLO26 改进 - 注意力机制 | Mask Attention掩码注意力,可学习掩码矩阵破解低分辨率特征提取难题 | 2025 预印

本文提出了用于低分辨率图像分割的MaskAttn - UNet框架,并将其核心的掩码注意力机制集成到YOLO26中。传统U - Net类模型难以捕捉全局关联,Transformer类模型计算量大,而掩码注意力机制通过可学习的掩码,让模型选择性关注重要区域,融合了卷积的局部效率和注意力的全局视野。其工作流程包括特征适配、掩码生成、定向注意力计算和特征融合。我们将掩码注意力机制代码集成到YOLO26中。

魔改工程师的博客 835

深入C++学习还必须掌握的一基础知识精讲

施磊C++语言基础提高课程笔记,包括了new/delete;malloc/free;引用和指针;const,指计和引用的结合;函数重载,inline的数,参数带默认值的函数;函数模板等知识点

GeniusAng的博客 1477

地中海气候

题意 有一个包含 N 个正整数的序列,序列元素不大于 N。紧接着,他们维护了一 个可重集合 S,包含序列中的前 P 个元素。Alice 先手,二人轮流进行下面的一 系列操作: 从集合 S 中拿走一个元素,加到玩家的总分上面; 将序列中的下一个数字(如果存在)添加到集合 S 中; 假使二人都尽力使自己的总分最大,设游戏的结果为 Alice 的总分与 Bob 的 总分之差,那么请你在给定序列和集合元...

LazyCrazyCat的博客 451

AIGC 算法工程师面试八股文全解析:Diffusion Models 原理、推导与实战要点

特性 | 重参数化技巧 (Reparameterization Trick) |本质| 将随机变量的采样过程从不可导的随机操作转换为可导的确定性函数与一个已知分布的随机噪声的组合。目的。

m0_71589036的博客 403

openjudge-noi-2.5-7084:迷宫问题

总时间限制:  1000ms 内存限制:  65536kB   描述 定义一个二维数组:  int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走...

dogeding233 1250

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

AGC012B Splatter Painting

传送门 题意: 给你一个n个节点的简单无向图(无重边、自环),含有m条边。现在有q次操作。初始的时候所有点的颜色都为0。 每一次操作的描述如下:选择一个节点v[i],将与这个节点的距离小于等于d[i]的点全部都染成颜色c[i]。 现在要求你回答,完成这q次操作之后,每一个点的最终颜色是什么。 题解: 这道题d很小(≤10),可以暴力。但是直接暴力有可能会T(举个例子:菊花图)。 考虑将操作倒过来,...

dogeding233 1130

OV9734 DATASHEET,完整规格书

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

作业-FBI树(fbi-tree.cpp)

题目描述 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串。 1) T的根结点为R,其类型与串S的类型相同; 2) 若串S的长度大于1,将串S从中间分开,分为等长的左右子串S1和S2;由左子串S1构造R的左子树T1,由右子串S2构造R的右子树T2。 现在给定一个长度为2^N的“01”串,请用上述构造方法构造出一棵FBI树,

dogeding233 1043

android 蓝牙通讯demo

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

(1151): 循环比赛

时间限制: 1 Sec  内存限制: 64 MB 题目描述 设有n个选手的循环比赛。其中n=2的m次方。要求每名选手要与其他n-1名选手都赛一次。每名选手至少每天比赛一次,循环赛共进行了n-1天,要求每天没有选手轮空。 输入:m 输出:表格形式的比赛安排表。 输入 第1行:1个整数M(1&lt;=M&lt;=8) 输出 N(N=2^M)-1天的比赛安排表。数据以N*N的矩阵形式输出。每...

dogeding233 1020

(1506): 双塔问题

时间限制: 1 Sec  内存限制: 64 MB 题目描述 第三题:双塔问题 2001年9月11日,一场突发的灾难将纽约世界贸易中心大厦夷为平地,Mr. F曾亲眼目睹了这次灾难。为了纪念"9?11"事件,Mr. F决定自己用水晶来搭建一座双塔。 Mr. F有N块水晶,每块水晶有一个高度,他想用这N块水晶搭建两座有同样高度的塔,使他们成为一座双塔,Mr. F可以从这N块水晶中任取M(1≤M≤N)...

dogeding233 889

openjudge-noi-4.6-1455:An Easy Problem

题意大概是这样的:给一个数I,转化为二进制,找到一个比它大的数,使其1的数量与I相等,输出最小的满足题意的十进制数.     总时间限制:  1000ms  内存限制:  65536kB 描述 As we known, data stored in the computers is in binary form. The problem we discuss now is abou...

dogeding233 846

(1365): [CEOI96]渡轮问题

时间限制: 1 Sec  内存限制: 64 MB 题目描述 Palmia 河在某国从东向西流过,并把该国分为南北两个部分。河的两岸各有 N 座城市,且北岸的每一个城市都与南岸的某个城市是友好城市,而且友好关系是一一对应的。现在要求在两个友好城市之间建立一条航线,但由于天气的原因,所有航线都不能相交,因此,就不可能给所有的友好城市建立航线。 问题:当给出城市个数和友好关系的信息之后,选择一种修建...

dogeding233 841

openjudge-noi-2.6-8787:数的划分

现在想来,这似乎是我发上来的第一道中文题..= =   总时间限制:  1000ms  内存限制:  65536kB 描述 将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。 例如:n=7,k=3,下面三种分法被认为是相同的。 1,1,5; 1,5,1; 5,1,1; 问有多少种不同的分法。 输出:一个整数,即不同的分法。 输入 两个整数n,k (6 &lt...

dogeding233 779
上一篇: POJ2420 A Star not a Tree?
下一篇: 20190105 东非大裂谷
dogeding
博客等级 码龄10年 31粉丝 109原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值