第一題:**於poj3690
題意:給出乙個n * m的矩陣,矩陣中只有一些*或者0,n <= 1000, m <= 1000,然後有t (t <= 100)個詢問,每次詢問給出乙個p * q的矩陣,p,q是提前固定的數值,問這些詢問中能是大矩陣的子矩陣的有幾個。
解法:hash.把每一行連續的p個數hash成乙個long long 的二進位制數,就可減少判斷的次數,當然也可以將每個p* q的矩陣給hash乙個數(要用unsigned,可以自動取模)。
**:
#include#include#include#include#include#includeusing namespace std;
long long h[1111][1111];
int n, m, t, p, q;
char mp[1111][1111], tmp[66];
long long a[66];
bool ok()
int cnt=0;
while(t--)
} }
if(max>2*k) puts("no");
else puts("yes");
}return 0;
}
codeforces 373b
題意:從m開始做乙個單調序列{m , m+1 , m+2 , …} 每次可以加乙個元素 每個元素費用為數字的位數 每個數字費用k 求 不超過w花費可加幾個元素。
解法:列舉長度。
**:
#include#include#include#include#include#includeusing namespace std;
#define ll long long
ll ans,m,k,w;
ll dig[20];
int main()
else
m=dig[i];
i++;
}printf("%lld\n",ans);
}return 0;
}
第四題:**於
codeforces 375a
題意:一堆數字一定包含1、6、8、9 可以任意調整順序 最後排成的數字要求被7整除
解法:找規律。
**:#include#include#includeusing namespace std;
char num[1000010];
int flag[10];
int main()
{ int i,len,tmp;
while(~scanf("%s",num))
{len=strlen(num);
memset(flag,0,sizeof(flag));
tmp=0;
for(i=0;i題意:略
解法:題目要求的是至少收到乙份offer的最大概率,我們得到得不到的最小概率即可,狀態轉移方程:f[j]=min(f[j],f[j-v[i]]*w[i]);其中,w[i]表示得不到的概率,(1-f[j])為花費j元得到offer的最大概率
**:略:
SWUST大二周賽 之農夫山泉有點甜
第一題 codeforces 485b 題意 給定一些點,要用盡量小的正方形框住所有的點,輸出矩形的大小。解題思路 維護x的最大值和最小值。同理y。然後取差值中的最大值作為變成,注意用long long include include include include includeusing nam...
周總結 大二寒假
本來以為今年寒假可以留校學習,但是還是想多了,因為疫情,我們不得不回家。話說我們這一屆的真的可憐,沒留過校學習就不說了,並且大一下學期,還在家頹廢了半年多。感覺少學了很多知識,o 這一周,學長給我們安排了乙個新的專案讓我們寫,是乙個考試系統,而且還能給老師分配任務進行出卷。好像比上個專案更加複雜一點...
周總結 大二寒假
個人主頁 這一周算是把專案做完了,同時也感覺有一點迷茫。接下來打算把時間放到學習新的知識上,這一周打算把spring security整合到 專案中,同時把大多數時間放到學習演算法上。畢竟演算法是找工作的時候乙個門檻。筆試不過面試的機會都沒有。另外看了別人寫好的比較完善的專案,趕緊自己對spring...