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
4100 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
24 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 ...