description
input
第一行乙個t,表示t組測試資料。每組測試資料格式如下。第一行表示字串s,第二行表示字串t。1 ≤ t ≤ 100each character of s, t will be between 'a' and 'z'.1 ≤ length of string s ≤ 10001 ≤ length of string t ≤ 1000
output
對於每組測試資料,輸出yes,或者no。
sample input
2rrrjj
rrrj
rjjr
sample output
yesno
hint
題目中的第乙個樣例:
第一盒糖果:rrrjj -> rrjj -> rjj -> rj
第二盒糖果:rrrj -> rrj -> rj
刪除兩個字串所有連續重複字元,只剩下乙個。在判定兩個是否相同。
#include #include #include using namespace std;
int main()
for(int i = 0; i < str2.size()-1;)
//cout<
description
給定你乙個數n,請你統計出在[a,b]這個區間中和n互質的數的個數。兩個數互質當且僅當他們除了1之外沒有其他的公共因子或者他們最大的公共因子是1。1和任何數是互素的。
input
第一行輸入乙個整數t(1 <= t <= 100),表示t組測試資料。接下來t行,每行3個整數a,b,n(1 <= a <=b <=10^15, 1<= n <= 10^9),用空格隔開。
output
輸出乙個整數表示和n互質的數的個數。
sample input
21 10 2
3 10 5
sample output
56
容斥原理、先對n分解質因數,分別記錄每個質因數,那麼所求區間內與某個質因數不互質的個數就是n/r(i),假設r(i)是r的某個質因子 假設只有三個質因子,總的不互質的個數應該為p1+p2+p3-p1p2-p1p3-p2p3+p1*p2*p3, 及容斥原理,pi代表n/r(i),即與某個質因子不互質的數的個數,當有更多個質因子的時候,可以用狀態壓縮解決,二進位制位上是1表示這個質因子被取進去了。如果有奇數個1就相加,反之則相減。
#include #include #include #include using namespace std;typedef long long ll;
vectorprime;
ll make_ans(ll num,int m)
return 0;
}
description
將乙個給定的數列,拆分成k個不降序列,每個數出現且只出現一次,且在各序列中各個數相對於原數列的相對順序不變。如7 6 9 8 10可以拆成 7 9 10和6 8。求最小的k值。
input
第一行輸入乙個整數t(1 <= t <= 100),表示接下來t組測試資料,每組兩行,第一行為n,代表數列長度(1<=n<=10000)接下來一行有n個數,空格分隔(每個數<=50000)。
output
對每組資料輸出乙個最小的k值。
sample input
257 6 9 8 10
55 4 3 2 1
sample output
25
經典貪心問題,從前往後掃瞄原陣列,每到乙個數,找個當前最大值最大的不降陣列加入其中,否則新建乙個不降陣列。
#include #include #include using namespace std;
vectorv[2];
int main()
int t = 0;
for(k = 0; k < n; ++k)
t = 1-t;
}printf("%d\n",k);
}return 0;
}
description
依阿華來到鎮守府的第一件事情,就是找大和solo!然而這並不是什麼好訊息,說不定,鎮守府,甚至佐伯灣就這麼消失了。。。於是,提督君想了乙個簡單的遊戲,來分出她們的勝負。遊戲規則如下:這裡有n堆石子,每堆石子有a[i](1<=i<=n)個,每人輪流從其中的某一堆石子中拿出任意個石子(只能在其中一堆拿,不能不拿),大和先手,誰拿出了最後乙個石子,誰輸。若大和必勝,輸出「yamato_saikou!」,若依阿華必勝,輸出「meidikeji_shijiediyi!」,若兩邊都無法必勝,輸出「sayonara_konosekai!」.
input
第一行輸入乙個正整數t(1 <= t <= 1000),表示有t組測試資料。對於每組測試資料:第一行乙個正整數,n(n<=1000),表示有n堆石子。第二行n個整數a[i](1<=a[i]<=1000),表示每堆石子的數量。
output
若大和必勝,輸出「yamato_saikou!」,若依阿華必勝,輸出「meidikeji_shijiediyi!」,若兩邊都無法必勝,輸出「sayonara_konosekai!」.
sample input
31521 2
3
1 1 1
sample output
yamato_saikou!yamato_saikou!
meidikeji_shijiediyi!
奇異局勢,所有堆的xor和==0.
假定s是非奇異局勢,t是奇異局勢。
一堆中石子數量》=2,表示充裕堆, =1表示孤單堆。
s0即非奇異局勢下,充裕堆為0的狀態
s1即非奇異局勢下,充裕堆為1的狀態
s2即非奇異局勢下,充裕堆》=2的狀態
t0即奇異局勢下,充裕堆為0的狀態
t2即奇異局勢下,充裕堆》=2的狀態
1.奇異局勢的定義可知,s能轉移到t,能轉移到s, t只能轉移到s
2.s0必敗,t0必勝
3.s1必勝,因為s1只需要轉移到s0即可。
4.s2必勝,t2必敗。
1)t2只能轉移到s1 和 s2
2)若t2轉移到s1 則t2敗,若t2轉移到s2,s2只需要轉回到t2即可。所以s2勝,t2敗。
所以:必勝態:t0,s1,s2
必敗態:s0,t2
#include #include using namespace std;
bool solve()
if(flag)
return !sum;
else
return sum;
}int main()
return 0;
}
description
聽說全球氣候變暖,冰川融化,海水淹大地。著實好奇要融化多少冰川會淹沒我的宿舍,哦不,淹沒南京,反正njust應該總會是第一批被淹的。現將問題簡化成乙個二維座標系的模型。有n個矩形塊區域,每個區域有海拔(h)和寬度(w),區域按照順序給出,比如有3個區域,第乙個區域寬度為1,海拔為2,第二個區域寬度為5,海拔為6,第三個區域寬度為3,海拔為4,從影象上看就是像這樣:(y軸是海拔)8 7 6 +++++5 +++++4 ++++++++3 ++++++++2 +++++++++1 +++++++++ 123456789假設最左邊和最右邊都是無限高的牆。為了簡化問題,假設水流下來的速度是每秒乙個單位的水,並且總是往區域一降水(某沿海地區)。現在請問要淹沒所有的區域至少要多少時間(秒)?淹沒的定義是,所有的區域表面至少覆蓋一層水。如果沒有區域則至少要放一滴水。上圖例子中,淹沒完如下:87 wwwwwwwww6 w+++++www5 w+++++www4 w++++++++3 w++++++++2 +++++++++1 +++++++++ 123456789所以需要19秒。
input
多case,測試資料以eof結尾,對於每個case:第一行乙個整數n(0 <= n <= 10^5)。接下去n行每行對應兩個整數h(1 <= h <= 10^5),w(1 <= w <= 10^5)分別對應第n個區域的海拔和寬度。
output
乙個整數,表示所需要的時間。
sample input
32 1
6 54 3
sample output
19
水題。找乙個最高點h,
答案就是
(h+1)*sum(wi) - 各海拔。
#include #include #include using namespace std;
typedef long long ll;
int main()
ll maxh = 0,maxl = 0,sum = 0;
ll h,w;
for(int i = 0; i < n; i++)
printf("%lld\n",(maxh+1)*maxl-sum);
}return 0;
}
南京理工大學第八屆程式設計大賽triple
題目大意 在一定範圍內找出三個最大公約數為m且各不相同的數,問有多少中情況。解題思路 剛開始的時侯用容斥寫,因為對於這個題而言質因子的分布在1到10的5次方,所以就有大概9千多個質數,而我寫的容斥是n 2的,所以就超時,所以這題不能用質因子去容斥,而直接用n的因子,時間複雜度更低。所以n 2的容斥對...
南京理工大學第八屆程式設計大賽 J water1
思路 水題 include define n 100000 define ll long long define u unsigned using namespace std int cas 1,t int n,h n 10 w n 10 ll ans int main int maxh 0 for...
南京理工大學第八屆程式設計大賽(校外映象)C題
count prime time limit 1000ms memory limit 65536kb description 給定你乙個數n,請你統計出在 a,b 這個區間中和n互質的數的個數。兩個數互質當且僅當他們除了1之外沒有其他的公共因子或者他們最大的公共因子是1。1和任何數是互素的。inpu...