解法:把每個壓縮的字元展開,然後kmp即可
#include
#include
#include
#include
#include
using
namespace
std ;
const
int n = 1e6 + 11 ;
const
int m = 1e3 + 11 ;
char str1[n] , str2[m] ;
int len1 , len2 ;
char ss[m] ;
int jump[m] ;
void getjump() else j = jump[j] ;
}}bool check() else j = jump[j] ;
}return
false ;
}int main() else
char tmp = ss[i-1] ;
i = id ;
if(ret > len2) ret = len2 ;
while(ret--) }}
len1 = cnt ;
if(check()) printf("true\n") ;
else
printf("false\n") ;
}}
#include
#include
#include
#include
#include
using
namespace
std ;
const
int n = 1e3 + 11 ;
int arr[n] ;
int n ;
int lowbit(int x)
void update(int x ,int d)
}int query(int x)
return ans ;
}void init()
}int fun(int x)
update(r , -1) ;
return r ;
}int main()
}}
求覆蓋大於一次的面積
#include
#include
#include
#include
#include
using
namespace
std ;
const
int n = 2e5 + 11 ;
typedef
long
long ll ;
struct line
line(int a ,int b , int c , int dd)
friend
bool
operator
<(const line& a , const line& b)
};int n ;
line line[n] ; int nline ;
int num[n] ; int nn ;
struct segment
void up(int u) else
if(cover[u] == 1) else
}void build(int u , int l , int r)
int mid = (l+r)>>1 ;
build(u<<1 , l , mid) ;
build(u<<1|1 , mid , r) ;
len[u] =len[u<<1] + len[u<<1|1] ;
up(u) ;
}void update(int l , int r , int d)
void _update(int u , int l , int r , int d) else
if(cover[u] == 1) else
}else
return ;
}int mid = (l+r)>>1 ;
if(x1 < mid) _update(u<<1 , l , mid , d) ;
if(y1 > mid) _update(u<<1|1 , mid , r , d) ;
up(u) ;
}}seg;
void init()
sort(line , line+nline) ;
sort(num , num+nn) ;
nn = unique(num , num+nn)-num ;
}int at(int x)
void work()
printf("%i64d\n" , area) ;
}int main()
}
解法:bfs ,注意當羊為0的時候,狼可以大於羊;每次必須運送大於1只動物
#include
#include
#include
#include
#include
#include
using
namespace
std ;
bool vis[201][201][2] ;
struct node ;
int x , y , n ;
void work()
memset(vis , 0 , sizeof(vis)) ;
node fro ;
fro.wolf = y , fro.sheep = x , fro.side = false;
fro.t = 0 ;
vis[x][y][0] = true ;
queue
que ;
que.push(fro) ;
while(!que.empty())
++fro.t ;
int wolf = fro.wolf , sheep = fro.sheep ;
int other_wolf = y - wolf , other_sheep = x - sheep ;
for(int i = 1 ; i <= sheep ; ++i)
}for(int j = 1 ; j <= wolf && j <= n ; ++j)
}printf("-1\n") ;
}int main()
}
FOJ 2014 3 有獎月賽
由於跑a 區去面試的原因,這次比賽沒參加,回來時已經四點多了,過了 h題,然後 d題交了一發,沒考慮乙個盟國只有乙個國家的情況,wa了一次,之後就結束比賽了 具體說下每道題吧。a.檔案系統 簡單模擬題。把題目意思理清楚就比較簡單了。每個組給乙個編號,並記錄它的成員,然後對每個檔案進行判斷就可以了。徐...
隨感 2023年3月小結
總是寫了一些感想,默默的收藏,沒有發表。但是,我想肯定有人和我有所共鳴,所以還是和大家分享。進入大學,已經7個月了,乙個多學期,我時常在想,自己到現在都收穫了什麼。知識,經驗,好的習慣,積極向上的朋友圈,好的心態.仔細想想真沒有什麼可以值得驕傲的,同其他人一樣,虛度了大把的美好青春,真是想想都對不起...
2023年春3月月賽題解
問題a string 1.題意 找出乙個字串在另乙個字串出現的次數 2.解法 此題解法較多,看 就應該知道了 第一種解法 include include using namespace std intmain cout count endl return0 第二種解法 include using n...