time limit: 10 sec memory limit: 259 mb
submit: 469 solved: 227
[submit][status][discuss]
霸中智力測試機構的一項工作就是按照一定的規則刪除乙個序列的數字,得到乙個確定的數列。lyx很渴望成為霸中智力測試機構的主管,但是他在這個工作上做的並不好,俗話說熟能生巧,他打算做很多練習,所以他希望你寫乙個程式來快速判斷他的答案是否正確。
第一行為乙個整數m(1<=m<=1000000)第二行包括m個用空格分開的整數ai(1<=ai<=1000000),組成了最初的序列,第三行為乙個整數n(1<=n<=1000000),表示n個lyx經過一系列刪除得到的序列,每個序列兩行,第一行給出長度l(1<=l<=m),然後下一行為l個由空格分開的整數bi(1<=bi<=1000000)。
共n行,如果lyx的序列確實是由最初的序列刪除一些數得到,就輸出tak,否則輸出nie。
71 5 4 5 7 8 645
1 5 5 8 6
32 2 2
35 7 8
41 5 7 4
taknie
taknie
思路:= =感覺輸入量好大啊,而且我也沒有會員,不知道我寫的方法是wa還是tle還是ac,就先暫時貼出來就好了
將a中的每個數值都預處理出來,放出vector中,其中定義vectorve[i]表示,數值為i的出現在a中的位置集合。
然後我們暴力b串,並二分在a中的位置即可。(總感覺這個資料範圍好像有毒啊)
//view code看看會不會爆int!陣列會不會少了一維!
//取物問題一定要小心先手勝利的條件
#include using
namespace
std;
#pragma comment(linker,"/stack:102400000,102400000")
#define ll long long
#define all(a) a.begin(), a.end()
#define pb push_back
#define mk make_pair
#define fi first
#define se second
#define haha printf("haha\n")
const
int maxn = 2e6 + 5
;int
n, m;
vector
ve[maxn];
vector
::iterator it;
intmain()
scanf("%d
", &n);
for (int i = 1; i <= n; i++)
}if (flag) puts("
tak"
);
else puts("
nie"
); }
return0;
}
bzoj 2083 (二分查詢)
time limit 10 sec memory limit 259 mb submit 352 solved 157 submit status discuss 霸中智力測試機構的一項工作就是按照一定的規則刪除乙個序列的數字,得到乙個確定的數列。lyx很渴望成為霸中智力測試機構的主管,但是他在這個...
C 中vector和vector的區別
在使用stl容器 比如map list vector等 的時候,是用放乙個物件還是放乙個物件指標,即是用vector還是vector,這裡的vector可以換成其他的容器,int可以換成其他基本型別,也可以自定義的資料結構或類。首先,要說明的是,這兩種方式,怎麼用都可以實現功能,把一組整型數放到容器...
vector 比 vector慢的原因和替代方法
vector不是容器,至少,不是標準意義上的容器。vector的名稱有點讓人誤解,因為其內部元素實際上並不是標準的bool值,標準的bool值至少與char擁有一樣的大小,從而可以被 正常 使用。然而c 標準對於vector值有其特殊的實現方法。目的是為了減小空間的耗用。特殊版本內部只使用乙個bit...