華華和奕奕學物理

2021-10-01 16:00:13 字數 1498 閱讀 9945

題目描述

眾所周知,9406計算機大佬眾多,他們不僅**能力強,而且都精通物理。物理無處不在,甚至坐電梯的時候,zck和xxr都在討論若電梯突然失重會怎樣。身為文科生的華華和奕奕非常難過,他們決定學習物理,不能讓小夥伴們看不起。奕奕現在正在研究一道物理題。

有q次操作:

若op1,輸入v,t,m,表示在t時刻從無窮高處以初速度v垂直向下丟擲乙個質量為m的小球。

若op2,輸入v,t。表示詢問t時刻所有速度小於等於v的小球的動能之和是多少。

乙個速度為v,質量為m的物體的動能等於0.5mvv,為了防止精度誤差,設原來的答案是ans,則你只需輸出2ans%(1e9+7)即可。

輸入描述:

輸入q。 接下來q行。

先輸入op,若op1,輸入v,t,m。

若op2,輸入v,t表示一次詢問。

1<=q,t,m<=3e5。

若op1,1<=v<=3e5。

若op2,1<=v<=4e6。

t是不嚴格遞增的,即t[1]<=t[2]<=t[3]<=…<=t[q]

重力加速度取g=10m/s^2

輸出描述:

對於每次詢問輸出2*ans%(1e9+7)

示例1

輸入複製

71 1 1 2

2 1 2

2 11 2

1 3 2 5

1 1 4 3

2 20 4

2 30 4

輸出

複製

0242

32648

如果我們不做改變,很難判斷有哪些速度是小於當前詢問的速度的。

於是我們想到,我們定乙個標準。全部都看成從 t = 0 時開始丟下的小球,那麼我們就很好判斷了,直接樹狀陣列維護一下即可。

那我們怎麼計算答案呢?我們可以看一下公式:m * (v0 + g * t) ^2,不難化簡,我們維護三個變數即可,因為起點已經確定了,所以最後把t帶入計算答案即可。

ac**:

#include

#define int long long

using namespace std;

const

int p=

1e9+7;

const

int n=

8e6+

10,base=

4e6;

int q,d[n][3

];inline

void

add(

int x,

int v,

int k)

inline

intask

(int x,

int k)

signed

main()

else

}return0;

}

華華送奕奕小禮物

題意 給出陣列a,b,矩陣c i j a i b j 問子矩陣和在l r之間的個數 反思 開始直接暴力 c i j a i b j 怎麼看都是有作用的 很容易得出乙個子矩陣的和就是對應a,b下標區間和的乘積所以先把a 的區間全部列舉出來,排序一下,在二分看b的區間中符合條件的個數。include i...

華華跟奕奕玩遊戲 數學期望遞推式

有乙個箱子,開始時有n個黑球,m個藍球。每一輪遊戲規則如下 第一步 奕奕有p的概率往箱子裡新增乙個黑球,有 1 p 的概率往箱子裡新增乙個藍球。第二步 華華隨機從箱子裡取出乙個球。華華喜歡黑球,他想知道k輪遊戲之後箱子裡黑球個數的期望。輸入五個整數n,m,k,a,b。1 n,m 1e6,1 k 1e...

華華和月月種樹

時間限制 c c 2秒,其他語言4秒 空間限制 c c 131072k,其他語言262144k 64bit io format lld 華華看書了解到,一起玩養成類的遊戲有助於兩人培養感情。所以他決定和月月一起種一棵樹。因為華華現在也是資訊學高手了,所以他們種的樹是資訊學意義下的。華華和月月一起維護...