牛客練習賽4 A B

2021-08-11 05:43:55 字數 2594 閱讀 7974

laptop

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 131072k,其他語言262144k

64bit io format: %lld

fst是一名可憐的小朋友,他很強,但是經常fst,所以rating一直低迷。

但是重點在於,他非常適合acm!並在最近的區域賽中獲得了不錯的成績。

拿到獎金後fst決定買一台新筆記本,但是fst發現,在**能承受的範圍內,筆記本的記憶體和速度是不可兼得的。

可是,有一些筆記本是被另外一些「完虐」的,也就是記憶體和速度都不高於另外某乙個筆記本,現在fst想統計一下有多少筆記本被「完虐」。

第一行乙個正整數n,

表示筆記本的數量。接下來n行,每行兩個正整數mi,si表示這款筆記本的記憶體和速度。

n≤105,mi,si≤109

一行,乙個正整數,表示被完虐的筆記本數。
示例1

4

100 700

200 500

50 100

300 400

1

mi和si都是越大越優。

資料保證mi互不相同,si也互不相同。

#include#include#includeusing namespace std;

long long n,mm,ans,ma;

struct pca[100010];

bool cmp(pc a,pc b)

else{

if(a[i].sdistance

fst作為小朋友,經常會遇到和距離有關的問題,但是他已經厭倦了曼哈頓距離和歐幾里德距離,所以fst就定義了一種fst距離。

這種距離並不用於空間或平面中,而運用於fst發明的一些神奇的演算法中(唔... ...)。

設i號元素的特徵值為a

i,則i和j的fst距離是 |i

2 - j

2|+|a

i2 - a

j2|。為了實現某新的資料結構,fst想在一大堆元素中找出距離最大的一對元素,他不關心是哪一對元素,只想求出最大距離。

第一行,乙個正整數n,為元素個數。

第二行,n個正整數ai為這n個元素的特徵值。

一行,乙個正整數表示最大距離。long long請用lld
示例1

2

4 3

10

n≤105,ai≤109

有四種情況,就是i2-j2>=0,i2-j2<0,ai2-aj2>=0,ai2-aj2<0,但是總的其實就是兩種情況,分別算一下就可以了。

#include#include#includeusing namespace std;

long long n,a[100010],m1[100010],m2[100010],ans;

int main()

{ scanf("%lld",&n);

for(long long i=1;i<=n;i++)

scanf("%lld",&a[i]);

for(long long i=1;i<=n;i++)

m1[i]=i*i+a[i]*a[i];

for(long long i=1;i<=n;i++)

m2[i]=i*i-a[i]*a[i];

sort(m1+1,m1+n+1);

sort(m2+1,m2+n+1);

ans=max(m1[n]-m1[1],m2[n]-m2[1]);

cout

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 131072k,其他語言262144k

64bit io format: %lld

fst是一名可憐的小朋友,他很強,但是經常fst,所以rating一直低迷。

但是重點在於,他真的很強!他發明了一種奇特的加密方式,這種加密方式只有oier才能破解。

這種加密方式是這樣的:對於乙個01串,他會構造另乙個01串,使得原串是在新串中沒有出現過的最短的串。

現在fst已經加密好了乙個串,但是他的加密方式有些bug,導致沒出現過的最短的串不止乙個,他感覺非常懊惱,所以他希望計算出沒出現過的最短的串的長度。

一行,乙個01串。長度≤105

一行,乙個正整數,表示沒有出現過的最短串的長度。
示例1

100010110011101

4

看到這題,有的用字典樹,有的用hash,最後這個才是最簡單的啊,直接用乙個map儲存,算有多少個不同的數,和2的n次冪比較,直接就出來了,也可能資料比較弱。#include#include#include#include#define n 100005

using namespace std;

typedef long long ll;

char s[n];

mapmp;

int main()

{ scanf("%s",s);

int ans,n=strlen(s);

for(int k=1;;k++){

mp.clear();

for(int i=0;i+k

牛客練習賽42(A,B)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 262144k,其他語言524288k 64bit io format lld 給定兩個等長的由小寫字母構成的串 a,ba,b,其中 a b n 現在你需要求出乙個子區間 l,r 使得 lcp a l,r b l,r lcs a l,r b l...

牛客練習賽74AB

題目題意 符合等比數列等差數列等mod數列就是 牛 的數列 問給定數列是否為牛數列 思路 直接比較即可,很坑的地方是 等比數列必須考慮到公比不是整數的情況,但是也不能用double存因為後面要取模 include using namespace std const int maxn 100000 1...

牛客練習賽18 A B題解

牛客訓練賽18做完簽到題a和b,然後去看了下c和d應該就不是自己水平能解決的了。首先是a題求和為s的若干整數的最大乘積,這道題主要思路就是將s分為3和2,就是在n 5時,講s分解為若干個3,然後就是2 或4 因為4 2 2,所以4其實和2的效果是一樣的。然後附上a題 include include ...