BZOJ2321 [BeiJing2011集训]星器 能量守恒定律

2023-10-13 10:20

本文主要是介绍BZOJ2321 [BeiJing2011集训]星器 能量守恒定律,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目大意:在一个二位矩阵上有一些星器,把两个不相邻的星器互相靠近一格会产生两个星器距离的能量,给出始末状态,求产生的最大能量。

以前偶然间看过这道题的题解,用到了能量守恒定律
在neither_nor看这道题的时候我告诉他这道题是物理以后我就滚回去看了题解…
他自己推出来了一个和网上都不一样的做法,果然是神犇,%%%

可以把两个星器的移动以后产生的能量看成是移动消耗的能量,这样根据能量守恒,计算出始末状态的能量差即为答案

势能是相对的,可以定义一个星器相对于原点的势能为横纵坐标的平方和的一半。
验证一下势能的定义是否正确。横纵坐标两项相互独立,互不影响。这样这里只对于一维坐标计算。设移动前 两个星器的坐标分别为x,y,移动后分别为(x+1),(y-1),势能差为
这里写图片描述
恰好为释放的能量。

若将势能定义为一次多项式,则消耗的能量与移动次数有关;若将势能定义为二次多项式,则消耗的能量与距离有关。

#include <cstdio>
#define N 205
using namespace std;
typedef long long LL;
inline LL sq(int x) { return x*x; }
int n,m,tmp,a[N][N];
LL sum;
int main() {scanf("%d%d",&n,&m);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&a[i][j]);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%d",&tmp),sum+=(LL)(a[i][j]-tmp)*(sq(i)+sq(j));printf("%lld\n",sum/2);return 0;
}

这篇关于BZOJ2321 [BeiJing2011集训]星器 能量守恒定律的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/202533

相关文章

能量项链,洛谷

解释:  环形dp问题还是考虑将环拉直,可以参考我上一篇文章:环形石子合并 [2 3 5 10 2] 3 5 10 将环拉直,[]内是一个有效的区间,可以模拟吸收珠子的过程,         如[2 3 5] <=>(2,3)(3,5)    2是头,3是中间,5是尾 len >= 3:因为最后[2 10 2]是最小的可以合并的有效区间 len <= n + 1因为[2 3

2014暑假集训搜索专题

A - 漫步校园 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit Status Description LL最近沉迷于AC不能自拔,每天寝室、机房两点一线。由于长时间坐在电脑边,缺乏运动。他决定充分利用每次从寝室到机房的时间,在校园里散散步。整个HDU校园呈方形布局,可划

【Get深一度】信号处理(一)——能量信号与功率信号的区别

1.1 能量信号与功率信号的区别         通常情况下,电信号默认为电流(I)或电压(V),有两种主要类型:能量信号、功率信号。相信有朋友现在依然还是傻傻分不清楚这两者之间的区别。 下面我将进行分条详述:(关键词已加黑)        1)能量信号:表现为    确定或随机        2)功率信号:变现为    周期或随机          注:其中随机信号是比较好理解的

寒假集训第二天——线性表

现在时间是北京时间1点23分,第二天集训。。。 昨天花了老长时间把线性表看了下,表示很有压力,不大会用。。。 先说下我学到的线性表的皮毛。。。 首先是链表的构建,构建有两种方式: 顺序链表(尾插法建单链表) #include<stdio.h>struct node{int date;struct node *next;};int main(){int i,n;node *he

寒假集训第一天——结构体

期待已久的寒假集训终于开始了,第一天讲的内容比较简单——结构体,之前就学了点。。。 表示普通的结构体会用,涉及到指针都不大会,今天算是学了点指针的用法。。。 作业描述如下: 结构体 今天作业  1.定义一个acmer结构体,包括以下信息:姓名,学号,手机号,做题数,出生日期,其中出生日期date也是一个结构体,包括年、月、日  2.建立结构体数组,实现对多个同学

寒假集训——字典树(模板)

struct node{int v;node *next[26];} T[1000000];int t=0;node *newnode(){node *p=new node;//动态分配//node *p=&T[t++];//静态分配p->v=0;for(int i=0; i<26; i++)p->next[i]=NULL;return p;}void insertnode(node

寒假集训——二叉树

#include <iostream>#include <stdio.h>#include <string.h>#include <queue>using namespace std;typedef struct node{char date;node *lch,*rch;}Bn,*Bt;void cbtree(Bt &T)//先序建二叉树{char c;scanf("%c"

数据结构代码集训day14(适合考研、自学、期末和专升本)

题目均来自b站up:白话拆解数据结构! 今日题目如下:(1)试写一个算法判断给定字符序列是否是回文。 (2)给定一个算法判断输入的表达式中括号是否匹配。假设只有花、中、尖三种括号。 题1         回文序列即正着读反着读,都是一样的。比如abba就是回文序列,abab就不是。         由于要反着读,能够很容易想到一种线性结构——栈。栈后进先出,很容易实现输入序列的反

新能源汽车超级电容和电池能量管理系统的simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 电池模型 4.2 电池荷电状态(SOC)估算 4.3 超级电容器模型 4.4 能量管理 5.完整工程文件 1.课题概述         新能源汽车的能量管理系统(Energy Management System, EMS)旨在高效管理和分配车辆内的能量资源,以提高整体能效和延长行驶里程

nefu暑假集训4 哈希 个人模板+例题汇总

前言:   什么是哈希?哈希其实是所有字符串操作中,最简单的操作了(哈希的过程,其实可以看作对一个串的单向加密过程,并且需要保证所加的密不能高概率重复(就像不能让隔壁老王轻易地用它家的钥匙打开你家门一样qwq),通过这种方式来替代一些很费时间的操作。 比如,最常见的,当然就是通过哈希数组来判断几个串是否相同(洛谷P3370)。此处的操作呢,很简单,就是对于每个串,我们通过一个固定的转换方式,将相