锘??xml version="1.0" encoding="utf-8" standalone="yes"?>精品久久久无码人妻中文字幕,亚洲精品国精品久久99热,成人精品一区二区久久 http://www.shnenglu.com/Yuan/zh-cn Wed, 07 May 2025 18:33:59 GMT Wed, 07 May 2025 18:33:59 GMT 60 hdu 3403 鍥炴枃鏃ユ湡 http://www.shnenglu.com/Yuan/archive/2011/08/09/152846.html_Yuan _Yuan Tue, 09 Aug 2011 02:33:00 GMT http://www.shnenglu.com/Yuan/archive/2011/08/09/152846.html http://www.shnenglu.com/Yuan/comments/152846.html http://www.shnenglu.com/Yuan/archive/2011/08/09/152846.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/152846.html http://www.shnenglu.com/Yuan/services/trackbacks/152846.html /**//* 姹傜k<=4000000涓洖鏂囦覆鐨勬棩鏈燂紝涓嶈兘鏈夊墠緗? 濡?0011001 褰㈠紡涓簓... 闃呰鍏ㄦ枃 ]]> hdu 3826 http://www.shnenglu.com/Yuan/archive/2011/08/07/152690.html_Yuan _Yuan Sat, 06 Aug 2011 18:40:00 GMT http://www.shnenglu.com/Yuan/archive/2011/08/07/152690.html http://www.shnenglu.com/Yuan/comments/152690.html http://www.shnenglu.com/Yuan/archive/2011/08/07/152690.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/152690.html http://www.shnenglu.com/Yuan/services/trackbacks/152690.html /**/ /* 闂畁<=10^18鏄惁鑳借涓涓暟鐨勫鉤鏂規暣闄?br /> 灝唍鍒嗚В涓猴細p1p2 pk 鍏朵腑pi涓虹礌鏁幫紝涓攑i<=pi+1錛堣繖閲屽彲浠ョ瓑浜庯級 鑻鑳借涓涓暟鐨勫鉤鏂規暣闄わ紝瀹冭偗瀹氳兘琚竴涓礌鍥犲瓙鐨勫鉤鏂筽^2鏁撮櫎錛屾垜浠壘鍒版渶灝忕殑榪欎釜p鍗沖彲 ~~~ 1.濡傛灉p涓嶆槸鏈鍚庣殑绱犲洜瀛愶紝鍦╬涔嬪悗鐨勭礌鏁皃i>=p錛岃繖鏃跺氨鏈塶>=p^3浜嗭紝 鍗硃<=n^(1/3)錛屾墍浠ユ灇涓緉^(1/3)鍐呯殑绱犳暟鐪嬫槸鍚^2|n鍗沖彲錛岃宯^(1/3)<=10^6 2.濡傛灉p鏄渶鍚庣殑绱犲洜瀛愶紝鎵浠鐨勫艦寮忓氨鏄痯1p2 p'p^2錛岃宲'<=p錛屾墍浠'^3<=n錛宲'<=n^(1/3) 鎵浠ュ彲浠ュ厛灝唍鐨勮繖浜涚礌鍥犲瓙p1,p2, ,p'緇欏幓鎺夛紝p'<=n^(1/3)錛屾墍浠ョ敤n^(1/3)鍐呯殑绱犳暟鍘婚櫎鍗沖彲 鏈鍚庡彧鍓╀笅n'=p^2錛岄氳繃鍒ゆ柇涓涓暟鏄惁涓哄畬鍏ㄥ鉤鏂規暟鍗沖彲 綆楁硶灝辨槸棰勫鐞?0^6鍐呯殑绱犳暟錛岀敤榪欎簺绱犳暟鍘婚櫎n錛屽彂鐜版湁p^2鑳芥暣闄ょ殑return鍗沖彲 鍚﹀垯鍒ゆ柇鍓╀笅鐨勮繖涓猲'鏄惁涓哄畬鍏ㄥ鉤鏂規暟錛屾垜鏄敤浜屽垎鍒ゆ柇鐨勶紝鍔犱簡double澶勭悊long long 婧㈠嚭*/ #include< cstdio > #include< cstring > #include< algorithm > #include< vector > #include< queue > #include< string > #include< iostream > #include< cassert > using namespace std; bool isp[ 1000010 ]; int pr[ 300000 ], pn; void init() { for ( int p = 2 ; p <= 1000000 ; p ++ ) { if ( ! isp[p]) { pr[pn ++ ] = p; for ( long long j = ( long long )p * p; j <= 1000000 ; j += p) { isp[j] = 1 ; } } } }// n = p1p2 pk bool chk( long long n) { for ( int i = 0 ; i < pn && pr[i] <= n; i ++ ) { if (n % pr[i] == 0 ) { n /= pr[i]; if (n % pr[i] == 0 ) return 0 ; } } if (n == 1 ) { return 1 ; } long long left = 1 , right = n; while (left <= right) { long long mid = (left + right) / 2 ; if (( double )mid * mid > n) right = mid - 1 ; // double !! else left = mid + 1 ; } return right * right != n; } int main() { // freopen("in.txt", "r", stdin); init(); int T, t = 1 ; for (scanf( " %d " , & T); T -- ; ) { printf( " Case %d: " , t ++ ); long long n; scanf( " %I64d " , & n); puts(chk(n) ? " Yes " : " No " ); } return 0 ; } ]]>zoj 3512 宸﹀亸鏍?鎬濈淮 涓綅鏁?/title> http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html_Yuan _Yuan Wed, 03 Aug 2011 09:35:00 GMT http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html http://www.shnenglu.com/Yuan/comments/152374.html http://www.shnenglu.com/Yuan/archive/2011/08/03/152374.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/152374.html http://www.shnenglu.com/Yuan/services/trackbacks/152374.html /*
緇欏嚭n<=50000涓暟鐨勫簭鍒梐[1]..a[n]錛屾眰涓涓潪閫掑噺鐨勫簭鍒梑[1]..b[n]
浣垮緱∑|a[i]-b[i]|鏈灝?br />
濡傛灉鍙槸姹備竴涓偣x錛屼嬌寰?#8721;|a[i]-b[i]|鏈灝忥紝鏄劇劧x = a[(n+1)/2]錛堜腑浣嶆暟錛?--------------OMG
浣嗙幇鍦ㄥ彲浠ユ湁澶氫釜鐐癸紝濡傛灉a[]鏄掑鐨勶紝閭d箞浠[i] = a[i]鍗沖彲浜?br />
鐜板湪a[]鏄棤瑙勫緥鐨?br />
宸﹀亸鏍戠殑璁烘枃棰橈紝鐪嬩簡璁烘枃榪樹笉瀹屽叏鎳?br />
鍋氭硶錛?br />
鏈鍚庣瓟妗堢殑褰㈠紡鏄皢1..n鍒嗘垚m涓繛緇殑鍖洪棿錛屾瘡涓尯闂寸殑b[i]鏄竴鏍風殑錛屼笖涓嶅悓鍖洪棿鏄潪閫掑噺鐨?br />
鍦ㄦ鏌鏃訛紝鍋囪1..n-1宸茬粡鍒嗘垚浜唌涓尯闂翠簡
鐜板湪鍏堟妸a[n]鍗曠嫭涓涓尯闂達紝鏄劇劧b[n]=a[n]浼氭槸1..n鐨勬渶浼樺鹼紙鍥犱負鍓嶉潰1..n-1鏄渶浼樼殑錛岃岀n涓?br />
瀵圭瓟妗堢殑璐$尞涓?錛夛紝浣嗘槸涓嶄竴瀹氭弧瓚砨[n-1]<=b[n]錛岀畻娉曚負錛?br />
鑻[n-1] <= b[n]錛屽垯b[n]灝辨槸a[n]浜?br />
鍚﹀垯錛岄渶瑕佸悎騫剁洰鍓嶆渶灝劇殑涓や釜鍖洪棿錛岀洿鑷寵繖涓や釜鍖洪棿鏈塨[k] <= b[k+1] -------OMG
鑰宐[k]鏄劇劧鏄瘡涓涓尯闂寸殑涓綅鏁頒簡
鍚堝茍涓や釜鍖洪棿姹備腑浣嶆暟錛屽彲鐢ㄥ乏鍋忔爲鍋氭渶澶у爢鍒嗗埆緇存姢姣忎釜鍖洪棿鐨勫墠(ni+1)/2灝忕殑鏁幫紝-------OMG
鍒欏爢欏朵負姣忎釜 鍖洪棿鐨勪腑浣嶆暟浜嗭紝鍚堝茍鏃訛紝灝嗗彸杈瑰尯闂寸殑閭d簺鏁板悎騫跺埌宸﹁竟鍗沖彲
O(nlogn)
宸﹀亸鏍戠湡鏄濂囨紓浜殑涓滆タ!!
鑷充簬涓轟粈涔堟槸鍚堝茍鏈鍚庝袱涓尯闂達紝灝嗙n涓暟鍜屽畠涔嬪墠閭d釜鍖洪棿鐨勪竴閮ㄥ垎鏁板悎璧鋒潵涓嶈鍚楋紵
鍋囪a[k n-1]鏄眰鍑烘潵鐨勪竴涓尯闂達紝鍒欒偗瀹氭湁a[n-1]<a[k..n-2]鐨勪腑浣嶆暟錛屽惁鍒欏皢a[n-1]鐙珛鍑烘潵浼氭洿浼?--OMG
鍚岀悊錛宎[n]<a[k..n-1]鐨勪腑浣嶆暟錛岄渶瑕佽繘琛屽悎騫訛紝閭h兘涓嶈兘a[k n]鍒嗘垚涓ら儴鍒嗭紝鑰屼笉鏄悎騫舵垚涓閮ㄥ垎鍛紵
鍗砤[k..k'], a[k'..n]錛岃繖鏍蜂篃涓嶈錛岀敱鍋囪鐭ワ紝鑲畾a[k'..n]鐨勪腑浣嶆暟<a[k..k']鐨勪腑浣嶆暟錛岄渶瑕佸悎騫?br />
錛堝ぇ浜庣殑璇濓紝a[k'+1..n-1]灝變笉浼氬悎騫跺埌閭i噷鍘誨暒~~錛?br />
*/
#include< iostream >
#include< cstring >
#include< map >
#include< algorithm >
#include< stack >
#include< queue >
#include< cstring >
#include< cmath >
#include< string >
#include< cstdlib >
#include< vector >
#include< cstdio >
#include< set >
#include< list >
#include< numeric >
#include< cassert >
#include< sstream >
#include< ctime >
#include< bitset >
#include< functional >
using namespace std;
const int MAXN = 100010 ;
struct Node
{
int key, dist, lc, rc;
};
Node nodes[MAXN];
int alloc;
void initNode()
{
nodes[ 0 ].dist = - 1 ; // 0浣滀負NULL鑺傜偣
alloc = 1 ;
}
int newNode( int x)
{
nodes[alloc].key = x;
nodes[alloc].dist = 0 ;
nodes[alloc].lc = nodes[alloc].rc = 0 ;
return alloc ++ ;
}
int merge( int A, int B)
{
if (A != 0 && B != 0 ) {
if (nodes[A].key < nodes[B].key) { //
swap(A, B);
}
nodes[A].rc = merge(nodes[A].rc, B);
int & lc = nodes[A].lc;
int & rc = nodes[A].rc;
if (nodes[lc].dist < nodes[rc].dist) {
swap(lc, rc);
}
nodes[A].dist = nodes[rc].dist + 1 ;
} else {
A = A == 0 ? B : A;
}
return A;
}
int pop( int A)
{
int t = merge(nodes[A].lc, nodes[A].rc);
nodes[A].lc = nodes[A].rc = 0 ; // 闅旂鍑篈鍚庤寰楀皢A鐨勫効瀛愪篃娓呯┖
return t;
}
int a[MAXN];
int main()
{
#ifndef ONLINE_JUDGE
freopen( " in.txt " , " r " ,stdin);
#endif
for ( int n;scanf( " %d " , & n), n; ) {
initNode();
stack < pair < int , int > > S;
for ( int i = 1 ; i <= n; i ++ ) {
scanf( " %d " , & a[i]);
pair < int , int > np(newNode(a[i]), 1 ); // node, len
while ( ! S.empty() && nodes[S.top().first].key > nodes[np.first].key) {
pair < int , int > top = S.top();
S.pop();
int n1 = top.second, n2 = np.second;
np.first = merge(top.first, np.first);
np.second = n1 + n2;
if ((n1 + 1 ) / 2 + (n2 + 1 ) / 2 > (n1 + n2 + 1 ) / 2 ) {
np.first = pop(np.first);
}
}
S.push(np);
}
long long ans = 0 ;
int id = n;
while ( ! S.empty()) {
int b = nodes[S.top().first].key, num = S.top().second;
S.pop();
while (num -- > 0 ) {
ans += abs(a[id -- ] - b);
}
}
printf( " %lld\n " , ans);
}
return 0 ;
} ]]> ural 1720 http://www.shnenglu.com/Yuan/archive/2011/08/01/152243.html_Yuan _Yuan Mon, 01 Aug 2011 15:14:00 GMT http://www.shnenglu.com/Yuan/archive/2011/08/01/152243.html http://www.shnenglu.com/Yuan/comments/152243.html http://www.shnenglu.com/Yuan/archive/2011/08/01/152243.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/152243.html http://www.shnenglu.com/Yuan/services/trackbacks/152243.html /* 涓篬l,r]鍖洪棿鍐呮湁澶氬皯涓暟鏄尯闂碵x,y]涓殑鏁扮殑鍜?br /> 1 <= x, y, l, r <= 10^8 x <=y, l <= r 濡傛灉鑼冨洿娌¤繖涔堝ぇ鐨勮瘽錛屽[x,y]榪檡-x+1涓墿鍝佽繘琛屽畬鍏ㄨ儗鍖咃紝鎵懼嚭瑕嗙洊浜嗛偅浜涗綅緗?br /> 鐜板湪鏁版嵁榪欎箞澶э紝鑳屽寘涓嶅彲琛?br /> 浣嗘槸錛屾敞鎰忓埌[x,y]榪欐槸涓涓繛緇殑鍖洪棿錛屽彲浠ョ畻鍑轟粬浠細瑕嗙洊鐨勬暟鏄細 [x,y] , [2x,2y] [kx, ky] 榪欐牱鐨勮瘽錛屾垜浠鎵炬弧瓚砙l,r]涓殑鏁幫紝鍙鐢╢[r] - f[l-1] f[x]琛ㄧず[1,x]涓涓婇潰閭d簺鏁拌鐩栫殑涓暟 瑕佹敞鎰忕殑鏄紝鏈夊彲鑳絒(k-1)x, (k-1)y]涓嶽kx,ky]鏈夐噸鍙犻儴鍒嗭紙鍗?k-1)y>=kx錛?br /> 鍙涓寮濮嬮噸鍙犱簡錛屼箣鍚庣殑鎵鏈夌偣閮戒細琚鐩栦簡 鏁版嵁姣旇緝澶э紝鏈変簺鍒ゆ柇闇瑕佺敤double*/ #include< iostream > #include< cstring > #include< map > #include< algorithm > #include< stack > #include< queue > #include< cstring > #include< cmath > #include< string > #include< cstdlib > #include< vector > #include< cstdio > #include< set > #include< list > #include< numeric > #include< cassert > #include< sstream > #include< ctime > #include< bitset > #include< functional > using namespace std; long long gao( long long x, long long y, long long z, long long k) { long long l = 0 , r = z; while (l <= r) { // find first l*y >= z long long m = (l + r) / 2 ; if (( double )m * y < z) l = m + 1 ; // 瑕佺敤double else r = m - 1 ; } long long ans = 0 ; // [x,y] [2x,2y] [(l-1)x, (l-1)y], [lx, ly] if (l >= k) { ans = (y - x) * (k - 1 ) * k / 2 + (k - 1 ) + (k * x > z ? 0 : z - k * x + 1 ); } else { ans = (y - x) * (l - 1 ) * l / 2 + (l - 1 ) + (l * x > z ? 0 : z - l * x + 1 ); } return ans; } int main() { #ifndef ONLINE_JUDGE // freopen("in.txt","r",stdin); #endif for ( long long x, y, l, r; cin >> x >> y >> l >> r; ){ if (r < x ) { cout << 0 << endl; continue ; } if (x == y) { cout << r / x - (l - 1 ) / x << endl; continue ; } long long lk = 1 , rk = y; while (lk <= rk) { long long mk = (lk + rk) / 2 ; // 瑕佺敤double if (( double )mk * x > (( double )mk - 1 ) * y) lk = mk + 1 ; else rk = mk - 1 ; } // [rk*x, oo) cout<< gao(x, y, r, rk) - gao(x, y, l - 1 , rk) << endl; } return 0 ; } ]]>zoj 3511 璧板嚭涓涓渶灝忕殑鐜?/title> http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html_Yuan _Yuan Sun, 31 Jul 2011 18:09:00 GMT http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html http://www.shnenglu.com/Yuan/comments/152185.html http://www.shnenglu.com/Yuan/archive/2011/08/01/152185.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/152185.html http://www.shnenglu.com/Yuan/services/trackbacks/152185.html /* 涓涓嚫澶氳竟褰<=10000錛宑ut浜唌嬈★紝姣忎竴鍒涓嶇浉浜?br /> 姹傝竟鏁版渶澶氶偅鍧楃殑杈規暟 榪欓鐢ㄩ敊璇殑鍋氭硶鎼炰簡寰堜箙錛屾氮璐瑰ぇ閲忔椂闂達紝鍥?img src="http://www.shnenglu.com/Images/dot.gif" alt="" /> 鐒跺悗媧楁盡鏃舵兂鍒頒簡鍙互閫氳繃姣忔鎵句竴涓?#8220;鏈灝忕殑鐜?#8221;鏉ュ仛 綾諱技錛?br /> http://watashi.ws/blog/970/andrew-stankevich-3-solution/ zoj 2361 涓婇潰榪欓鍗佸垎鎺ㄨ崘錛侊紒錛?br /> 涓婇潰閭i鏄寜鐓ф瀬瑙掓帓搴忥紝涓嶈繃榪欓鍙互鎸夌収鐐圭殑緙栧彿鎺掑簭鍗沖彲 澶氳竟褰㈢殑欏剁偣鐪嬫垚鍥劇殑欏剁偣錛屽杈瑰艦鐨勮竟鏄竟錛宑ut涔熺湅鎴愯竟錛堝弻鍚戠殑杈癸級 寤哄ソ鍥懼悗錛屽姣忎釜鐐規壘瀹冩墍鍦ㄧ殑鐜紙鍙兘澶氫釜錛?br /> 姣斿鐜板湪宸茬粡鏈夎竟pre->now錛岄偅涔堝氨鍦╪ow鐨勯偦鎺ヨ竟涓壘絎竴涓瘮pre灝忕殑鐐?br /> 錛堟病鏈夌殑璇濓紝灝辨渶澶ч偅涓級 榪欐牱錛岃蛋鍑虹殑鐜氨鏄渶灝忕殑浜嗭紙涔熷嵆鐜唴娌℃湁杈癸級 鐢諱釜鍥懼氨娓呮浜?br /> 8 4 2 8 2 4 4 6 6 8*/ #include < iostream > #include< cstring > #include< map > #include< algorithm > #include< stack > #include< queue > #include< cstring > #include< cmath > #include< string > #include< cstdlib > #include< vector > #include< cstdio > #include< set > #include< list > #include< numeric > #include< cassert > #include< sstream > #include< ctime > #include< bitset > #include< functional > using namespace std; const int INF = 0x3f3f3f3f ; const int MAXN = 10086 ; vector < int > e[MAXN]; int main() { #ifndef ONLINE_JUDGE freopen( " in.txt " , " r " ,stdin); #endif for ( int N, M; ~ scanf( " %d%d " , & N, & M); ) { for ( int i = 1 ; i <= N; i ++ ) { e[i].clear(); e[i].push_back(i == N ? 1 : i + 1 ); // e[i].push_back(i == 1 ? N : i-1);榪欐潯杈逛笉鐢ㄥ姞 } int x, y; for ( int i = 0 ; i < M; i ++ ) { scanf( " %d%d " , & x, & y); if (x > y) swap(x, y); // 鍙屽悜鐨勮竟 e[x].push_back(y); e[y].push_back(x); } for ( int i = 1 ; i <= N; i ++ ) { sort(e[i].begin(), e[i].end()); } int ans = 0 ; for ( int i = 1 ; i <= N; i ++ ) { // cout<<endl<<i<<": \n"; for (vector < int > ::iterator it = e[i].begin(), jt; it != e[i].end(); ) { int pre = i, now = * it, len = 1 ; // 姣忔鍦╪ow涓鎵劇涓涓皬浜巔re鐨勶紝榪欐牱灝辨槸鏈灝忕殑鐜簡錛岀被浼兼瀬瑙掓渶灝?/span> while (now != i) { // cout<<pre<<" "<<now<<endl; len ++ ; jt = lower_bound(e[now].begin(), e[now].end(), pre); // 涓嶈兘鍐欐垚--jt < e[now].begin()錛屽洜涓?-jt涓嶅啀灞炰簬e[now]鐨勮寖鍥翠簡 if (jt == e[now].begin()) { jt = -- e[now].end(); } else jt -- ; pre = now; now = * jt; e[pre].erase(jt); } it = e[i].erase(it); // cout<<len<<endl; ans = max(ans, len); } } printf( " %d\n " , ans); } return 0 ; } ]]> zoj 1039 鍗氬紙dp http://www.shnenglu.com/Yuan/archive/2011/07/29/152011.html_Yuan _Yuan Thu, 28 Jul 2011 16:43:00 GMT http://www.shnenglu.com/Yuan/archive/2011/07/29/152011.html http://www.shnenglu.com/Yuan/comments/152011.html http://www.shnenglu.com/Yuan/archive/2011/07/29/152011.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/152011.html http://www.shnenglu.com/Yuan/services/trackbacks/152011.html /* 鍗氬紙娓告垙 2鍒?0鐨勬暟錛屼袱涓漢杞祦鍙?br /> 鍙栨暟涓嶈兘鍙栦箣鍓嶅凡鍙栬繃鏁扮殑鍊嶆暟錛屾垨涔嬪墠鍙栬繃鐨勪袱涓暟鐨勫嶆暟涔嬪拰 緇欏嚭褰撳墠鐨勪竴涓悎娉曞眬闈紝闂厛鎵嬭璧㈢殑絳栫暐 n<=20錛屾瘮杈冩槑鏄劇殑mask dp dp[mask]琛ㄧず鍓╀笅mask琛ㄧず鐨勬暟錛屽綋鍓嶄笅鎵嬫槸璧㈣繕鏄緭 娉ㄦ剰鐨勬槸錛屽case錛屼絾鏄彧綆椾竴嬈″氨琛屼簡錛屼笉鐢ㄦ瘡涓猚ase閮絚lear dp[] 鍥犱負鐭ラ亾浜嗗綋鍓嶅眬闈紝灝辮兘紜畾涔嬪墠閫変簡浠涔堟暟浜?br />*/ #include< iostream > #include< cstring > #include< map > #include< algorithm > #include< stack > #include< queue > #include< cstring > #include< cmath > #include< string > #include< cstdlib > #include< vector > #include< cstdio > #include< set > #include< list > #include< numeric > #include< cassert > #include< sstream > #include< ctime > #include< bitset > #include< functional > using namespace std; char dp[ 1 << 20 ]; void add( int & forbiden, int & multiple, int x) // forbiden涓轟笉鑳界殑浣嶏紝multiple涓轟箣鍓嶉夌殑閭d簺鏁扮殑鍊嶆暟鐨勪綅 { for ( int a = x; a <= 20 ; a += x) { forbiden |= 1 << a; multiple |= 1 << a; forbiden |= multiple << a; } } bool win( int mask, int forbiden, int multiple, int x) { if (mask == 0 ) { dp[mask] = - 1 ; return false ; } if (dp[mask]) { return dp[mask] > 0 ; } add(forbiden, multiple, x); for ( int i = 2 ; i <= 20 ; i ++ ) { if ((mask & ( 1 << i - 2 )) == 0 || (forbiden & ( 1 << i)) ) continue ; if ( ! win(mask ^ ( 1 << i - 2 ), forbiden, multiple, i) ) { // 榪欓噷鎻愬墠閫鍑轟簡錛屾湁浜涘瓙鐘舵佸茍娌℃湁綆楀埌 return dp[mask] = 1 ; } } dp[mask] = - 1 ; return 0 ; } int main() { #ifndef ONLINE_JUDGE // freopen("in","r",stdin); // freopen("out","w",stdout); #endif int T, t = 1 , n; for (scanf( " %d " , & T); T -- ; ) { printf( " Scenario #%d:\n " , t ++ ); scanf( " %d " , & n); vector < int > vt, have; int vi[ 30 ] = { 0 }, mask = 0 ; for ( int i = 1 ,x; i <= n; i ++ ) { scanf( " %d " , & x); vt.push_back(x); vi[x] = 1 ; mask |= 1 << (x - 2 ); // } int forbiden = 0 , multiple = 0 ; for ( int i = 2 ; i <= 20 ; i ++ ) { // 緇欏嚭涓涓暟錛岃偗瀹氱粰鍑轟粬鐨勬墍鏈夊洜瀛?/span> if (vi[i] || (forbiden & ( 1 << i)) ) continue ; add(forbiden, multiple, i); } // fill(dp, dp+mask+1, 0); 涓嶇敤姣忔閮絚lear /* 涓嶈鎼炰竴嬈in(mask) 鐒跺悗鍙杁p[mask ^ (1<<vt[i]-2)錛岀湅win閲岄潰浼氭彁鏃╅鍑虹殑 鎵浠ユ湁浜沝p[mask']娌$畻鍒幫紝浼氫負0 涓嶈繃鍙杦in(mask ^ (1<<vt[i]-2))灝辮鍚?br /> */ vector< int > ans; for ( int i = 0 ; i < vt.size(); i ++ ) { if ( ! win(mask ^ ( 1 << vt[i] - 2 ), forbiden, multiple, vt[i])) { ans.push_back(vt[i]); } } if (ans.empty()) { puts( " There is no winning move. " ); } else { printf( " The winning moves are: " ); sort(ans.begin(), ans.end()); for ( int i = 0 ; i < ans.size(); i ++ ) { printf( " %d " , ans[i]); } puts( " . " ); } puts( "" ); } return 0 ; } ]]> poj 3373 鐘舵佺殑璁捐 http://www.shnenglu.com/Yuan/archive/2011/07/26/151892.html_Yuan _Yuan Tue, 26 Jul 2011 13:36:00 GMT http://www.shnenglu.com/Yuan/archive/2011/07/26/151892.html http://www.shnenglu.com/Yuan/comments/151892.html http://www.shnenglu.com/Yuan/archive/2011/07/26/151892.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/151892.html http://www.shnenglu.com/Yuan/services/trackbacks/151892.html /**//* 鍙敼鍙樻暟瀛椾覆A鐨勬瘡涓浣嶏紝涓睞鐨勯暱搴<=100 姹傛敼鍙樺嚭鐨勬柊涓詫紙涓嶈兘鏈夊墠緙0錛夛紝闇瑕佹槸x&l... 闃呰鍏ㄦ枃 ]]> Spoj 1479 鏈灝忕洿寰勭敓鎴愭爲 http://www.shnenglu.com/Yuan/archive/2011/07/21/151519.html_Yuan _Yuan Wed, 20 Jul 2011 17:12:00 GMT http://www.shnenglu.com/Yuan/archive/2011/07/21/151519.html http://www.shnenglu.com/Yuan/comments/151519.html http://www.shnenglu.com/Yuan/archive/2011/07/21/151519.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/151519.html http://www.shnenglu.com/Yuan/services/trackbacks/151519.html 闃呰鍏ㄦ枃 ]]> ural 1577 E-mail http://www.shnenglu.com/Yuan/archive/2011/07/18/151322.html_Yuan _Yuan Mon, 18 Jul 2011 13:09:00 GMT http://www.shnenglu.com/Yuan/archive/2011/07/18/151322.html http://www.shnenglu.com/Yuan/comments/151322.html http://www.shnenglu.com/Yuan/archive/2011/07/18/151322.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/151322.html http://www.shnenglu.com/Yuan/services/trackbacks/151322.html /*
緇欏嚭涓や釜涓睞,B <=2000錛屾瀯閫犱竴涓柊涓詫紝浣垮緱璇ユ柊涓茬殑瀛愬簭鍒楁槸A,B錛屼笖闀垮害鏈鐭?br />
姹傛柊涓茬殑鏂規鏁?br />
鏄劇劧鏄渶灝忛暱搴+m-lcs
姣旇禌鏃訛紝鎴戦敊璇仛娉曟槸瀵圭浉閭誨尮閰嶇偣涓棿鐨勫瓧絎﹁繘琛屾帓鍒楋紝濡?br />
abcd
aefd
灝卞浐瀹歛,d錛屼腑闂寸殑b,c,e,f鎺掑垪錛屽綋鐒墮渶瑕乥鍦╟鍓嶏紝e鍦╢鍓?br />
浣嗚繖縐嶅仛娉曢亣鍒板涓尮閰嶇偣鏃跺氨鏈夐棶棰樹簡錛屽
be
babo
涓婇潰鐨刡鍙互璺熶笅闈袱涓尮閰嶏紝鐩存帴鍍忎笂闈㈤偅鏍峰瓙鎺掑垪浼氭湁閲嶅鐨勯棶棰?br />
褰撴椂灞闄愬湪涓婇潰鐨勬濊礬錛屾病鎼炲嚭 .
鍏跺疄涓嶉毦錛岀洿鎺p鍗沖彲
dp[i,j]琛ㄧず浠[i]鎴栬匓[j]緇撳熬鐨勪覆鐨勪釜鏁?br />
濡傛灉A[i] = B[j]錛屽垯dp[i,j] = dp[i-1,j-1] 鍥犱負榪欐椂蹇呴』鍖歸厤A[i],B[j]
鍚﹀垯錛宭cs[i-1,j] > lcs[i,j-1] 鍒檇p[i,j] = dp[i-1,j] 榪欐椂鏂頒覆鑲畾鏄疉[i]緇撳熬錛屽洜涓哄彇鐨勬槸dp[i-1,j]
lcs[i-1,j] < lcs[i,j-1] 鍒檇p[i,j] = dp[i,j-1] 榪欐椂鏂頒覆鑲畾鏄疊[i-1]緇撳熬
lcs[i-1,j] = lcs[i,j-1] 鍒檇p[i,j] = dp[i-1,j] +dp[i,j-1] 榪欐椂鏂頒覆鍙互鏄疉[i]鎴朆[j]緇撳熬錛屼絾涓嶄細閲嶅錛屽洜涓哄熬閮ㄤ笉鍚?br />
鍧戝緱錛屽綋鏃舵瘮璧涙椂錛屾病鎯蟲墦濡傛灉鍙杁p[i-1,j]錛岃嚜鐒舵槸浠[i]緇撳熬鐨勶紒錛侊紒
緇撳熬涓嶅悓錛屼笉浼氬鑷撮噸澶嶈鏁扮殑錛侊紒
鐢ㄧ粍鍚堟暟瀛︾殑鏂規硶綆楁椂錛屼笉娓呮灝鵑儴鏄粈涔?img src="http://www.shnenglu.com/Images/dot.gif" alt="" />
*/
#include< cstdio >
#include< iostream >
#include< cmath >
#include< map >
#include< queue >
#include< vector >
#include< bitset >
#include< set >
#include< cstring >
#include< string >
#include< stack >
#include< cassert >
#include< sstream >
#include< list >
#include< algorithm >
using namespace std;
const int INF = 0x3f3f3f3f ;
const int MAXN = 2010 ;
const int MOD = 1000000007 ;
int dp[MAXN][MAXN], lcs[MAXN][MAXN];
char A[MAXN], B[MAXN];
int main()
{
// freopen("in","r", stdin);
// freopen("out","w", stdout);
while ( ~ scanf( " %s%s " , A + 1 , B + 1 )) {
int n = strlen(A + 1 );
int m = strlen(B + 1 );
memset(dp, 0 , sizeof dp);
memset(lcs, 0 , sizeof lcs);
for ( int i = 0 ; i <= n; i ++ ) {
dp[i][ 0 ] = 1 ;
}
for ( int i = 0 ; i <= m; i ++ ) {
dp[ 0 ][i] = 1 ;
}
for ( int i = 1 ; i <= n; i ++ )
for ( int j = 1 ; j <= m;j ++ ) {
if (A[i] == B[j]) {
lcs[i][j] = lcs[i - 1 ][j - 1 ] + 1 ;
dp[i][j] = dp[i - 1 ][j - 1 ];
} else if (lcs[i - 1 ][j] > lcs[i][j - 1 ]) {
lcs[i][j] = lcs[i - 1 ][j];
dp[i][j] = dp[i - 1 ][j];
} else if (lcs[i - 1 ][j] < lcs[i][j - 1 ]) {
lcs[i][j] = lcs[i][j - 1 ];
dp[i][j] = dp[i][j - 1 ];
} else {
lcs[i][j] = lcs[i - 1 ][j];
dp[i][j] = (dp[i - 1 ][j] + dp[i][j - 1 ]) % MOD;
}
}
// cout<<lcs[n][m]<<endl;
cout << dp[n][m] << endl;
}
return 0 ;
}
]]>poj 3274 淇濆瓨鐩稿鍊?/title> http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html_Yuan _Yuan Sat, 16 Jul 2011 02:40:00 GMT http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html http://www.shnenglu.com/Yuan/comments/151138.html http://www.shnenglu.com/Yuan/archive/2011/07/16/151138.html#Feedback 0 http://www.shnenglu.com/Yuan/comments/commentRss/151138.html http://www.shnenglu.com/Yuan/services/trackbacks/151138.html /*
n涓暟錛屾眰鏈闀跨殑榪炵畫涓孌碉紝浣垮緱榪欎竴孌墊暟瀛楋紝浜岃繘鍒朵腑姣忎竴浣嶆嫢鏈?鐨勯偅浜涙暟瀛楃殑涓暟鐩哥瓑
n<=10^5錛屼綅鏁発<=30
濡?br />
7 2 1 4 榪欓噷姣忎竴浣?閮芥湁2涓暟瀛楁嫢鏈?br />
瀹規槗鎯沖埌鍏堥澶勭悊鍑簊um[n,k]琛ㄧず鍓嶉潰n涓暟瀛椾腑鍦ㄧk浣嶆槸1鐨勪釜鏁?br />
榪檏涓暟瀛梥um[n,k]鐨勬牱瀛愬氨鏄洸綰垮艦鐨勶紝濡俿um[i,k]涓?nbsp;
_ /\
/ \/ \_/\
涓轟簡浣垮緱sum[i,k] - sum[j,k]瀵規墍鏈塳閮芥槸鍚屼竴涓暟
鍒檚um[j,k]鐨勬牱瀛愪篃蹇呴』鏄繖鏍風殑錛岃繖鏍穝um[i,k] - sum[j,k]鎵嶆槸涓涓悓涓涓暟錛堢被浼兼嫾鎺ユ椂鍥懼艦闇鍚誨悎錛?br />
濂戒簡錛屾墍浠ユ垜浠渶瑕佷繚瀛樿繖涓浘褰紝鍙互閫氳繃淇濆瓨a[i,k] = sum[i,k] - sum[i,0]鍗沖彲錛堝嵆淇濆瓨鐩稿鍊鹼級 -----OMG
鎴戜竴寮濮嬬敤map<vector<int>, int>錛?nbsp;vector<int>鏄繚瀛樺浘褰紝int鏄繚瀛樼涓嬈″嚭鐜扮殑鍦版柟
鍦╢or鍒癷鏃訛紝璁$畻鍑哄浘褰紝鍦╩ap涓壘鏈夋病鍑虹幇榪囷紝鏈夌殑璇濆氨鏇存柊絳旀涓篿-mp[vt]
vector鏄湁閲嶈澆姣旇緝榪愮畻絎︾殑錛屾墍浠ヤ笉鐢ㄥ啓鍏朵粬
浣嗘槸瓚呮椂浜嗭紝鎴戝湪鏈満嫻嬭矊浼間笉浼氳秴鏃?img src="http://www.shnenglu.com/Images/dot.gif" alt="" /> --||
鐪嬩簡瑙i鎶ュ憡錛屾柟娉曚竴鏍鳳紝浣嗘槸涓嶆槸鐢╩ap錛屾槸鏈鍚巗ort涓嬈$殑
瀵瑰摝錛屾垜鎯寵搗涔嬪墠涔熸湁涓閬撻錛屽張涓嶉渶瑕佹瘡涓猧閮借緭鍑虹粨鏋滐紝涓嶇敤map錛岀洿鎺ユ渶鍚巗ort涓嬈℃洿濂?br />
鐢╩ap浼氭參涓鐐?br />
浣嗚繖鏍瘋繕瓚呮椂錛屽師鏉ユ槸vector鐨勬瘮杈冩瘮杈冩參
鑷繁鍐欎簡涓猻truct Node {int vt[30];}; 鍐嶉噸杞芥瘮杈冭繃浜?br />
sort鏃訛紝鍙互瀵逛笅鏍囨帓搴忥紝鍑忓皯浜嗗ぇ鏁版嵁縐誨姩
榪欓瀹樻柟鏈夊彟澶栬В娉曪紝灝辨槸瀵規暟緇剉t[30] hash
濂界殑hash鍑芥暟浼氬揩寰堝鍚?br />
hsize=997001;
for(p=0,i=0;i<k;i++)
p=((p<<2)+(v[i]>>4))^(v[i]<<10);
p=p%hsize;
if(p<0) p+=hsize;
*/
#include< iostream >
#include< cstring >
#include< map >
#include< algorithm >
#include< stack >
#include< queue >
#include< cstring >
#include< cmath >
#include< string >
#include< cstdlib >
#include< vector >
#include< cstdio >
#include< set >
#include< list >
#include< numeric >
#include< cassert >
#include< sstream >
#include< ctime >
#include< bitset >
#include< functional >
using namespace std;
const int MAXN = 100100 ;
int n, k;
struct Node
{
int vt[ 30 ];
void clear()
{
memset(vt, 0 , sizeof vt);
}
};
bool operator < ( const Node & A, const Node & B) // 鐩存帴鐢╲ector鐨勬瘮杈冧細鎱?img src="http://www.shnenglu.com/Images/dot.gif" alt="" /> 鍙兘鏁版嵁澶ぇ鍚?/span>
{
for ( int i = 0 ; i < k - 1 ; i ++ ) {
if (A.vt[i] != B.vt[i]) {
return A.vt[i] < B.vt[i];
}
}
return false ;
}
pair < Node, int > all[MAXN];
inline bool cmp( const int & a, const int & b)
{
return all[a] < all[b];
}
int main()
{
#ifndef ONLINE_JUDGE
freopen( " in " , " r " ,stdin);
#endif
for (; ~ scanf( " %d%d " , & n, & k); ) {
// long long start = clock();
vector < int > vt(k - 1 ), pos(n + 1 );
all[ 0 ].first.clear(); // don't forget to push k-1 zeros
all[ 0 ].second = 0 ;
pos[ 0 ] = 0 ;
vector < int > sum(k);
for ( int i = 1 , x; i <= n; i ++ ) {
scanf( " %d " , & x);
for ( int j = 0 ; j < k; j ++ ) {
sum[j] += (x >> j) & 1 ;
if (j > 0 ) {
all[i].first.vt[j - 1 ] = sum[j] - sum[j - 1 ];
}
}
all[i].second = i;
pos[i] = i;
}
sort(pos.begin(), pos.end(), cmp);
int ans = 0 ;
for ( int i = 1 , last = 0 ; i <= n + 1 ; i ++ ) {
if (i == n + 1 || all[pos[i - 1 ]].first < all[pos[i]].first) {
ans = max(ans, all[pos[i - 1 ]].second - all[pos[last]].second);
last = i;
}
}
printf( " %d\n " , ans);
// cout<<"time "<<clock() - start<<endl;
}
return 0 ;
}
]]>
7777精品久久久大香线蕉 |
国产精品久久久久久久久久免费 |
久久午夜免费视频 |
久久久久久久久无码精品亚洲日韩 |
久久av无码专区亚洲av桃花岛 |
国产精品永久久久久久久久久 |
亚洲国产日韩欧美久久 |
国产精品久久久久久久久鸭 |
日本高清无卡码一区二区久久
|
久久精品国产亚洲AV不卡 |
99久久无色码中文字幕人妻 |
狠狠精品久久久无码中文字幕 |
久久久久久亚洲精品影院 |
久久这里只有精品首页 |
亚洲精品蜜桃久久久久久 |
国产精品一区二区久久精品无码 |
久久久噜噜噜久久中文福利 |
亚洲国产日韩欧美久久 |
成人精品一区二区久久 |
精品久久久久久国产潘金莲 |
久久人做人爽一区二区三区 |
久久久WWW成人免费毛片 |
国产精品99久久久久久人 |
亚洲综合日韩久久成人AV |
久久综合狠狠综合久久97色 |
久久久青草青青亚洲国产免观 |
久久久久久亚洲Av无码精品专口 |
一本大道久久香蕉成人网 |
狠狠色综合久久久久尤物 |
国产高清国内精品福利99久久 |
国产精品一久久香蕉国产线看观看
|
国产亚洲精久久久久久无码77777
国产亚洲精品久久久久秋霞
|
色婷婷噜噜久久国产精品12p |
久久99热狠狠色精品一区 |
久久天堂AV综合合色蜜桃网 |
久久人妻AV中文字幕 |
久久乐国产综合亚洲精品 |
久久亚洲sm情趣捆绑调教 |
中文精品久久久久人妻 |
久久亚洲精品国产亚洲老地址
|
久久99精品久久久久久久不卡 |