是套廢題。t1題面錯了,t2細節多而暴力》部分分,t3題目錯了。
t1:打表
題面應該是輸出差值期望而不是答案值期望。
看到題目,果斷打表。
答案就是所有值差之和除2的k次方。
1 #include2view codeint k,a[333333];long
long
ans;
3int
main()
t2:蛇
蛇的路徑一定是先走乙個左括號形,再曲折右走,再走乙個右括號。
hash。處理左括號右括號。
dp。處理曲折前行。
左括號的預處理答案作為dp陣列的初值。
細節很多,注意單獨乙個左括號/右括號的情況。
注意長度為1的括號不算括號,但是長度為0的算。
調4個小時就能ac了。
1 #include2view codeusing
namespace
std;
3#define ul unsigned long long
4const
int mod=1e9+7;5
int ans,n,l,dp[2][2005][2005],dp[2][2005][2005],ok=1;6
char s[2][2005],s[2005];ul hsh[2][2005],ihsh[2][2005],shsh[2005],pw[2005
];7 ul hsh(int opt,int l,int r)
8 ul ihsh(int opt,int r,int l)
9 ul shsh(int l,int r)
10int
main()
15if(l==2)22
for(int i=0;i<2;++i)for(int j=1;j<=n;++j)hsh[i][j]=hsh[i][j-1]*29+s[i][j]-'a'
;23for(int i=0;i<2;++i)for(int j=n;j;--j)ihsh[i][j]=ihsh[i][j+1]*29+s[i][j]-'a'
;24 pw[0]=1;for(int i=1;i<=n;++i)pw[i]=pw[i-1]*29;25
for(int i=1;i<=l;++i)shsh[i]=shsh[i-1]*29+s[i]-'a'
;26for(int i=0;i<=n;++i)for(int j=0;j<=i&&j<<1
<=l;++j)for(int k=0;k<2;++k)
27if(hsh(k,i-j+1,i)==shsh(j+1,j<<1)&&ihsh(k^1,i,i-j+1)==shsh(1
,j))
28 dp[k][i+1][j<<1|1]+=s[k][i+1]==s[j<<1|1],ans+=(j<<1==l)*ok;
29for(int i=1;i<=n+1;++i)for(int j=0;j<<1
<=l&&i+j-1
<=n;++j)for(int k=0;k<2;++k)
30if(hsh(k,i,i+j-1)==shsh(l-j-j+1,l-j)&&ihsh(k^1,i+j-1,i)==shsh(l-j+1
,l))
31 dp[k][i][l-j-j+1]+=(s[k][i]==s[l-j-j+1]||j==0),ans+=((j<<1)==l)*ok;
32for(int k=0;k<2;++k)for(int i=0;i<=n+1;++i)dp[k][i][3]=dp[k][i][l-1]=0;33
for(int i=2;ifor(int j=3;jfor(int k=0;k<2;++k)ans+=dp[k][i][j]*dp[k][i][j];
34for(int k=0;k<2;++k)for(int i=1;i<=n;++i)if(s[k][i]==s[1])dp[k][i][1]=1;35
for(int i=0;i<=n;++i)
40//
for(int k=0;k<=1+l;++k,puts(""))for(int i=0;i<2;++i,puts(""))for(int j=1;j<=n+1;++j)printf("%d/%d ",dp[i][j][k],dp[i][j][k]);
41if(ok)
42 cout
43 }
t3:題目
廢題。
考試反思 1114csp s模擬測試115 零遲
最後一次了,允許自己混進榜裡吧。沒有心態,原題不會做 真的忘了 t2的搜尋沒有分。零 遲 酷刑 只有在最後的時刻才開始意識到,一切的一切都已經晚了。就在眼前了。沒有機會了。退役,告別oi,粉碎夢想,這,就是最嚴苛的酷刑。生存,生存!hzoi2018!所有人!一年走來,我們還要繼續走下去!csp s,...
考試反思 1112csp s模擬測試111 二重
還是ak場。考前信心賽?而且t3的部分分還放反了所有80的都其實只有50。總算在ak場真正ak了一次。手感好,整場考試很順利。要不是因為t3是原題可能就沒這麼好看了。20mint1,50mint2,去趟廁所回來70min想到t3,110min寫完調完對拍完,然後去學skyh寫平衡樹了。然後我發現我不...
考試反思 1030csp s模擬測試94 未知
排名也未知。第1或第5。分數也未知,300或260。人生真是大起大落。啊啊啊啊啊我好感動啊竟然重測了一次 評測機怎麼測怎麼re,本機怎麼測怎麼ac 任意編譯指令,任意評測平台 結果原來是系統棧空間開小了導致遞迴爆棧了啊。重測就是把棧空間開到記憶體限制的大小然後我的 就沒鍋了。然後去隔壁用評測機調了乙...