題意:
b:codeforces 1238d:給你乙個只包含ab的字串,問你有多少個回文子字串。
c:codeforces 1238a:兩數之差是否能分解成乙個素數的若干倍。
d:codeforces 1238c:在h的高度(此處有踏板),character只能跳一層樓或者兩層樓,每在乙個h高度時,可以按動lever,使得本層踏板收回,下一層的踏板會改變狀態(縮進去會伸進去,伸進去的會出來)。如果跳超過兩層,可以用魔法使一層改變狀態。求最少要用多少次。
e:codeforces 1238e:一串字母字串,給乙個整數m表示前m個字母,求打出字串最少要移動手指多少個單位。假設要打abca 而m序列為abc。m的順序可以改變。
f:codeforces 1238b:從1往後,有n個怪物分布在一些位置,每次扔炸彈可以把仍炸彈的當前位置之前的怪物向前炸r個單位,炸彈**位置直接炸死怪物。
補題:b:思路:逆向思維。題目要求含有長度大於1的回文串即為好的字串,而且字串中只有a,b兩個字母,所以只有aaaab或者baaaa或者abbbb或者bbbba這種形式字串是非好的,其他的字串都是好的。所以求出這些字串的數量即可。
**:
#include
using
namespace std;
char s[
1000010];
intmain()
else
if(last)
cnt++;}
long
long sum=n*
(n-1)/
2;cout<}
d:思路:1.如果x-2高度處有擋板,那麼我們在x處按動開關,x和x-1高度處的擋板都收起,小人恰好落在x-2高度處的擋板。
2.如果x-2高度處沒有擋板,所以我們用魔法,讓x-1高度處的擋板收起來。
注:人在的位置為a[i]-1;
**:
#include
using
namespace std;
typedef
long
long ll;
int a[
200010
],q;
intmain()
cout<}}
f:思路:先排序,再二分。判斷左邊數第n−mid個怪物能否在mid次飛彈下被炸到陷阱裡。
**:
#include
using
namespace std;
int wz[
100010
],v[
100010]=
,t,n,r,tip,tmp,ans;
intmain()
}sort
(wz+
1,wz+tip)
; tip-=1
;for
(int i=
1; i<=tip; i++)if
(wz[tip-i]
<=r*i)
cout
int i=
1;i<=n;i++
) v[wz[i]]=
0;}}
感受:d題題目理解錯了,以為開關管的是全部,對著樣例模擬了半天。f題,memset函式超時了,說實話,調的時候有點懵,搞得我d題都不敢用memset初始化陣列了。剩下的時間都磕在b上了,這題也是花太多時間在題目上,good string的定義在第一行,沒注意,雖然看懂之和也還是沒弄出來,哎。 第三週第一天
儲存過程 1 語法格式 create proceture 儲存過程名 引數 特徵描述 sql語句體 需要注意的是 begin和end相當於 的作用,儲存過程名 引數 可以沒有引數,但是 不可以省略,名稱的長度限制64個字元。名稱不區分大小寫,盡量避免與內建函式同名,假如同名的話,在名稱和 之間加空格...
暑假訓練總結第1周第一天
題意 a codeforces 1272f 兩個括號字串是s t,製造乙個最短的括號字串並使得s和t是它的字串 s和t可以不連續 b codeforces 1272d 最多刪除陣列中的乙個元素,求操作後的最長單調增序列的長度。c codeforces 1272a 三個數,分別可以加 一 減一或者不變...
暑假第三週
第三週安裝hadoop,教程原址 在建立hadoop新使用者時,輸入密碼是不會顯示的,在這裡我以為出現了問題,其實這是正常的,之後使用sudo apt get install vim命令安裝了vim編輯器,並學會了基本操作用法,教程原址 基本操作 需要鍵盤敲擊輸入乙個英文本母i,進入編輯狀態以後才能...