├── 230575 ├── contest10 │ ├── A.pas │ ├── C.pas │ └── B.pas ├── contest8 │ ├── A.pas │ └── B.pas ├── contest12 │ ├── A.cpp │ └── D.cpp ├── contest11 │ ├── B.pas │ ├── C.pas │ └── A.pas ├── contest13 │ ├── B.cpp │ ├── A.cpp │ ├── D.cpp │ └── C.cpp ├── gongfuzuqiu.md └── contest9 │ ├── D.pas │ └── B.pas ├── xjdx ├── test ├── readme.md └── solution_template.md ├── byj ├── .gitignore └── README.md ├── jiangxunchi ├── contest10 │ ├── E.cpp │ ├── A.cpp │ ├── B.cpp │ └── C.cpp ├── contest9 │ ├── C.cpp │ └── B.cpp ├── TODOlist.txt ├── contest8 │ ├── A.cpp │ ├── B.cpp │ ├── C.cpp │ └── F.cpp ├── contest11 │ ├── B.cpp │ ├── C.cpp │ ├── A.cpp │ └── D.cpp ├── readme.md └── gongfuzuqiu.md ├── wzz ├── todolist.md ├── contest8 │ ├── A.cpp │ ├── B.cpp │ └── solution.md ├── contest10 │ ├── A.cpp │ ├── solution.md │ ├── B.cpp │ ├── C.cpp │ └── E.cpp ├── contest9 │ ├── solution.mp │ ├── A打标记.cpp │ └── D.cpp └── README.md ├── yyq ├── TodoList ├── template │ └── URL │ │ └── ACM ├── contest12 │ ├── A.cpp │ └── D.cpp ├── contest8 │ ├── A.cpp │ ├── C.cpp │ └── B.cpp ├── contest2 │ ├── A.cpp │ └── B.cpp ├── contest10 │ ├── A.cpp │ └── C.cpp ├── contest14 │ ├── C.cpp │ └── A.cpp ├── contest11 │ ├── B.cpp │ └── C.cpp ├── contest15 │ ├── A.cpp │ └── B.cpp ├── contest17 │ ├── A.cpp │ ├── B.cpp │ ├── C.cpp │ └── D.cpp ├── contest4 │ ├── C.cpp │ ├── A.cpp │ └── B.cpp ├── contest16 │ ├── A.cpp │ └── B.cpp ├── contest13 │ ├── B.cpp │ └── A.cpp ├── contest0 │ ├── A.cpp │ └── B.cpp ├── contest1 │ ├── A.cpp │ └── D.cpp ├── contest3 │ ├── B.cpp │ └── C.cpp ├── README.md └── contest9 │ └── A.cpp ├── _config.yml ├── Dance_Of_Faith ├── contest-000 │ └── problem ├── contest-001 │ └── problem ├── contest-002 │ └── problem ├── contest-003 │ └── problem ├── contest-004 │ └── problem ├── contest-005 │ └── problem,md ├── contest-006 │ └── problem.md ├── contest-008 │ ├── A -New Year Candles.cpp │ ├── C -New Year Ratings Change.cpp │ ├── B -New Year Present.cpp │ └── E -New Year Tree Decorations.cpp ├── contest-011 │ ├── B -Okabe and Banana Trees.cpp │ ├── C -Okabe and Boxes.cpp │ ├── A -Okabe and Future Gadget Laboratory.cpp │ └── D -Okabe and City.cpp ├── contest-010 │ ├── C -Case of Matryoshkas.cpp │ ├── A -Case of the Zeros and Ones.cpp │ ├── B -Case of Fake Numbers.cpp │ └── E -Case of Chocolate.cpp ├── contest-009 │ ├── D -Greg and Caves.cpp │ ├── B -Greg and Graph.cpp │ └── A -Greg and Array.cpp └── ReadMe.md ├── zhang2333 ├── please_read_it.txt ├── C8 │ ├── solution.txt │ ├── A.cpp │ ├── B.cpp │ └── C.cpp ├── C10 │ ├── A.cpp │ ├── B.cpp │ └── C.cpp ├── C11 │ ├── B.cpp │ ├── A.cpp │ └── C.cpp ├── C12 │ ├── A.cpp │ └── D.cpp ├── readme.md ├── C9 │ ├── A.cpp │ └── solution.txt └── gongfuzuqiu.md ├── 0_all_contests ├── readme.md └── contest13 │ └── F.cpp ├── tmp.txt ├── wuyiqi ├── contest8 │ └── A.cpp ├── contest7 │ ├── A.cpp │ ├── C.cpp │ └── D.cpp └── TodoList.md ├── langsike ├── todolist.txt ├── contest8 │ ├── A.cpp │ ├── C.cpp │ └── B.cpp └── contest7 │ └── A-1.cpp ├── tttnns ├── readme.md ├── solution_contest14.txt ├── contest10 │ ├── A.py │ ├── C.py │ └── B.py ├── contest8 │ ├── A.py │ ├── B.py │ └── C.cc ├── contest6 │ ├── B.py │ ├── A.py │ └── C.cc └── gongfuzuqiu.rst ├── Pro.Git-zh_CN.pdf ├── jhd ├── Figure_ProblemC.JPG ├── readme.md └── gongfuzuqiu.md ├── hexu ├── contest8 │ ├── A.pas │ ├── B.pas │ ├── E.cpp │ └── C,pas ├── contest10 │ ├── solution. │ ├── A.PAS │ └── B.PAS ├── contest13 │ ├── b.cpp │ ├── c.cpp │ └── a.cpp ├── contest11 │ ├── B.pas │ ├── a.pas │ └── C.pas ├── Conetests9 │ ├── A.PAS │ └── B.pas └── readme.md ├── zhaimingshuzms ├── 少林足球观后感 ├── contest11 │ ├── 链接.md │ ├── B.cpp │ ├── C.cpp │ └── A.cpp └── readme.md ├── fengxiao └── lib │ ├── contest14 │ ├── C.cpp │ └── A.cpp │ ├── contest15 │ ├── A.cpp │ ├── B.cpp │ ├── E.cpp │ └── C.cpp │ ├── contest12 │ ├── A.cpp │ ├── D.cpp │ └── B.cpp │ ├── contest8 │ ├── A.cpp │ ├── B.cpp │ ├── C.cpp │ └── E.cpp │ ├── contest17 │ ├── A.cpp │ ├── B.cpp │ ├── C.cpp │ └── D.cpp │ ├── contest11 │ ├── B.cpp │ ├── A.cpp │ └── C.cpp │ ├── contest19 │ ├── A.cpp │ ├── C.cpp │ └── D.cpp │ ├── contest10 │ ├── A.cpp │ ├── B.cpp │ ├── C.cpp │ └── E.cpp │ ├── contest13 │ ├── B.cpp │ ├── A.cpp │ ├── C.cpp │ └── D.cpp │ ├── contest16 │ ├── A.cpp │ ├── B.cpp │ └── E.cpp │ ├── CC │ └── contest_JULY17 │ │ ├── C.cpp │ │ ├── B.cpp │ │ └── A.cpp │ ├── contest18 │ ├── C.cpp │ ├── A.cpp │ ├── B.cpp │ └── D.cpp │ ├── contest9 │ ├── D.cpp │ ├── A.cpp │ └── B.cpp │ ├── XJOI │ ├── contest13 │ │ ├── B.cpp │ │ └── A.cpp │ ├── contest12 │ │ ├── A.cpp │ │ └── D.cpp │ └── contest14 │ │ └── A.cpp │ └── zhuan ti │ └── zui xiao sheng cheng shu │ ├── B.cpp │ ├── D.cpp │ ├── F.cpp │ ├── I.cpp │ ├── L.cpp │ ├── A.cpp │ ├── E.cpp │ └── M.cpp ├── clf ├── readme.md └── contest10 │ ├── #C.cpp │ ├── #A.cpp │ ├── #B.cpp │ └── solution.md ├── wxs ├── c8 │ ├── A.cpp │ ├── B.cpp │ └── C.cpp ├── c11 │ ├── B.cpp │ ├── C.cpp │ ├── A.cpp │ └── solution.md ├── c10 │ ├── A.cpp │ ├── C.cpp │ ├── B.cpp │ └── solution.md ├── c0 │ ├── B.cpp │ ├── A.cpp │ └── D.cpp ├── readme.md ├── meaningless │ └── solution.md ├── c1 │ ├── A.cpp │ └── B.cpp ├── ToDoList.md ├── c9 │ ├── D.cpp │ └── A.cpp └── c7 │ └── A.cpp ├── zkc ├── Codes │ ├── Contest#006 │ │ ├── solution.md │ │ ├── B.cpp │ │ ├── C.cpp │ │ └── A.cpp │ ├── Contest#007 │ │ ├── solution.md │ │ └── A.cpp │ ├── Contest#013 │ │ ├── C-Plus_and_Square_Root.cpp │ │ ├── A-Crazy_Computer.cpp │ │ └── B-Complete_the_Word.cpp │ ├── Contest#008 │ │ ├── A-New_Year_Candles.cpp │ │ ├── C-New_Year_Ratings_Change.cpp │ │ └── B-New_Year_Present.cpp │ ├── Contest#011 │ │ ├── B-Okabe_and_Banana_Trees.cpp │ │ └── C-Okabe_and_Boxes.cpp │ ├── Contest#010 │ │ ├── B-Case_of_Fake_Numbers.cpp │ │ ├── A-Case_of_the_Zeros_and_Ones.cpp │ │ ├── C-Case_of_Matryoshkas.cpp │ │ └── E-Case_of_Chocolate.cpp │ ├── Contest#001 │ │ ├── A-Fox_And_Snake.cpp │ │ └── D-Fox_And_Jumping.cpp │ └── Contest#003 │ │ ├── B-Tavas_and_SaDDas.cpp │ │ └── C-Tavas_and_Karafs.cpp ├── Module_solution.md ├── readme.md └── gongfuzuqiu.md ├── Anoxx ├── Contest10 │ ├── A.cpp │ ├── C.cpp │ ├── B.cpp │ ├── E.cpp │ └── D.cpp ├── Contest8 │ ├── A.cpp │ ├── B.cpp │ ├── C.cpp │ └── F.cpp ├── Contest11 │ ├── B.cpp │ ├── C.cpp │ └── A.cpp ├── Contest9 │ ├── D.cpp │ ├── A.cpp │ └── B.cpp ├── readme.md ├── Contest13 │ └── Readme.md └── Contest7 │ └── A(暴力.cpp ├── Czx ├── readme.md └── contest8 │ └── A.cpp ├── xc └── readme.md ├── yys └── readme.md ├── readme_template.md ├── Algorithm.md ├── README.md ├── qyf123 └── readme.md ├── dhl ├── readme.md ├── contest4 │ ├── A.cpp │ └── B.cpp ├── to-do-list.md ├── contest11 │ ├── B.cpp │ ├── A.cpp │ └── C.cpp ├── contest9 │ └── D.cpp └── contest 10 │ ├── A.cpp │ ├── E.cpp │ ├── C.cpp │ └── B.cpp ├── Cxt ├── readme.md └── gongfuzuqiu.md ├── Xtx └── readme.md ├── yzf └── readme.md ├── chuzhuyiheng ├── readme.md └── gongfuzuqiu.md ├── wrq └── readme.md ├── xhkxhk └── contest10 │ └── solution.md └── xtx └── Contest13 └── Solution.md /xjdx/test: -------------------------------------------------------------------------------- 1 | test 2 | -------------------------------------------------------------------------------- /xjdx/readme.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /byj/.gitignore: -------------------------------------------------------------------------------- 1 | *.swp 2 | 3 | -------------------------------------------------------------------------------- /jiangxunchi/contest10/E.cpp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /jiangxunchi/contest9/C.cpp: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /wzz/todolist.md: -------------------------------------------------------------------------------- 1 | ## contest8 G 2 | -------------------------------------------------------------------------------- /yyq/TodoList: -------------------------------------------------------------------------------- 1 | things to do: 2 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-slate -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-000/problem: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-001/problem: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-002/problem: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-003/problem: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-004/problem: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-005/problem,md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-006/problem.md: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /jiangxunchi/TODOlist.txt: -------------------------------------------------------------------------------- 1 | contest 8: E G 2 | -------------------------------------------------------------------------------- /zhang2333/please_read_it.txt: -------------------------------------------------------------------------------- 1 | Nothing... 2 | -------------------------------------------------------------------------------- /0_all_contests/readme.md: -------------------------------------------------------------------------------- 1 | # solutions all together 2 | -------------------------------------------------------------------------------- /tmp.txt: -------------------------------------------------------------------------------- 1 | https://pan.baidu.com/s/1Mt0YVDcwmo89HIITreX-UA 2 | -------------------------------------------------------------------------------- /wuyiqi/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int main () { 3 | } 4 | -------------------------------------------------------------------------------- /yyq/template/URL/ACM: -------------------------------------------------------------------------------- 1 | http://www.cnblogs.com/wmrv587/p/5915095.html (搬运) 2 | -------------------------------------------------------------------------------- /langsike/todolist.txt: -------------------------------------------------------------------------------- 1 | contest8 G 2 | contest7 DE 3 | contest2 AC 4 | contest1 5 | -------------------------------------------------------------------------------- /0_all_contests/contest13/F.cpp: -------------------------------------------------------------------------------- 1 | http://codeforces.com/contest/375/submission/5516493 2 | -------------------------------------------------------------------------------- /tttnns/readme.md: -------------------------------------------------------------------------------- 1 | \#|A|B|C|D|E 2 | ---|---|---|---|---|--- 3 | contest15|Y|Y|A|A|A 4 | -------------------------------------------------------------------------------- /Pro.Git-zh_CN.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xjoi/contests_for_noip/HEAD/Pro.Git-zh_CN.pdf -------------------------------------------------------------------------------- /wuyiqi/contest7/A.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xjoi/contests_for_noip/HEAD/wuyiqi/contest7/A.cpp -------------------------------------------------------------------------------- /wuyiqi/contest7/C.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xjoi/contests_for_noip/HEAD/wuyiqi/contest7/C.cpp -------------------------------------------------------------------------------- /wuyiqi/contest7/D.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xjoi/contests_for_noip/HEAD/wuyiqi/contest7/D.cpp -------------------------------------------------------------------------------- /jhd/Figure_ProblemC.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xjoi/contests_for_noip/HEAD/jhd/Figure_ProblemC.JPG -------------------------------------------------------------------------------- /hexu/contest8/A.pas: -------------------------------------------------------------------------------- 1 | var n,k:longint; 2 | begin 3 | readln(n,k); 4 | writeln((n*k-1)div (k-1)); 5 | end. 6 | -------------------------------------------------------------------------------- /tttnns/solution_contest14.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xjoi/contests_for_noip/HEAD/tttnns/solution_contest14.txt -------------------------------------------------------------------------------- /wuyiqi/TodoList.md: -------------------------------------------------------------------------------- 1 | ## todolist 2 | 数论基础,逆元 exgcd gcd 写出博文 3 | 4 | 树分治优越写法 题目汇总  原理分析 5 | 6 | 最短路好题推荐 dijkstra + heap优化 7 | -------------------------------------------------------------------------------- /zhaimingshuzms/少林足球观后感: -------------------------------------------------------------------------------- 1 | #守门员最强 2 | 昨天晚上看了少林足球,印象最深的是三个守门员. 3 | 第一个手流血了还说没事,最终被担架抬下场,第二个被爆射几十发,最后还将球传上了前场,最后也被担架抬下了场,第三个使出绝招进了球. 4 | -------------------------------------------------------------------------------- /zhang2333/C8/solution.txt: -------------------------------------------------------------------------------- 1 | loading... 2 | A:略 3 | B:略 4 | C:略 5 | D:略 6 | E:略 7 | F:设上一个状态中直径两端点为x、y,现在加上点z。。则现在直径的两端点只可能为x、y、z中两个。。 8 | G:为大家抄了一遍标程。。 9 | -------------------------------------------------------------------------------- /hexu/contest10/solution.: -------------------------------------------------------------------------------- 1 | #A 题 2 | ============= 3 | >给你一个长度为N的01字符串(1<=N<=2*10^5),相邻的一对01是可以消除的,求01字符串经过一系列消除操作后的最小长度。

4 | >因为 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /zhaimingshuzms/contest11/链接.md: -------------------------------------------------------------------------------- 1 | [virtual judge website](https://cn.vjudge.net/contest/168242)
2 | [codefoces website](http://codeforces.com/contest/821) 3 | -------------------------------------------------------------------------------- /tttnns/contest10/A.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | st = input() 3 | diff = 0 4 | for ch in st: 5 | if ch == '1': 6 | diff += 1 7 | else: 8 | diff -= 1 9 | print(abs(diff)) 10 | -------------------------------------------------------------------------------- /230575/contest10/A.pas: -------------------------------------------------------------------------------- 1 | var i,n,x:longint; 2 | s:ansistring; 3 | begin 4 | readln(n); 5 | readln(s); 6 | for i:=1 to n do 7 | if s[i]='0' then inc(x); 8 | writeln(abs(x*2-n)); 9 | end. 10 | -------------------------------------------------------------------------------- /230575/contest8/A.pas: -------------------------------------------------------------------------------- 1 | var a,b,cnt:longint; 2 | begin 3 | readln(a,b); 4 | cnt:=a; 5 | while a>=b do 6 | begin 7 | cnt:=cnt+a div b; 8 | a:=a div b+a mod b; 9 | end; 10 | writeln(cnt); 11 | end. 12 | -------------------------------------------------------------------------------- /fengxiao/lib/contest14/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int n; 3 | int main(){ 4 | scanf("%d",&n); 5 | printf("2\n"); 6 | for(long long i=1;i 0: 5 | ans += a 6 | crash += a 7 | a = 0 8 | a = crash // b 9 | crash -= a*b 10 | 11 | print(ans) 12 | -------------------------------------------------------------------------------- /jiangxunchi/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int xx=0,yy=0; 3 | int main(){ 4 | int a,b,ans=0; scanf("%d%d",&a,&b); 5 | for(;a;){ 6 | ans+=1; --a; ++xx; if(xx==b) xx=0,++a; 7 | } 8 | printf("%d",ans); return 0; 9 | } 10 | -------------------------------------------------------------------------------- /230575/contest12/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int main() 5 | { 6 | long long n,m,N,M; 7 | cin>>n>>m>>N; 8 | M=(N+1)*m/n; 9 | if(M>N) M=N; 10 | printf("%I64d\n",M); 11 | return 0; 12 | } 13 | -------------------------------------------------------------------------------- /clf/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | | contest15 |Y| A | A | A | A | X|X 10 | -------------------------------------------------------------------------------- /hexu/contest10/A.PAS: -------------------------------------------------------------------------------- 1 | var 2 | n,i,c,x:longint; 3 | s:ansistring; 4 | begin 5 | readln(n); 6 | readln(s); 7 | for i:=1 to length(s) do 8 | if s[i]='0' then inc(x);//统计0的个数 9 | writeln(abs(2*x-n));//输出答案 10 | *end. 11 | 12 | -------------------------------------------------------------------------------- /wxs/c8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int a,b,v; 4 | int main(){ 5 | scanf("%d%d",&a,&b); 6 | while(a>=b){ 7 | v+=a-a%b; 8 | a=a/b+a%b; 9 | } 10 | printf("%d",a+v); 11 | return 0; 12 | } 13 | /** 14 | 手速太慢 15 | **/ 16 | -------------------------------------------------------------------------------- /yyq/contest12/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | typedef double db; 4 | typedef long long ll; 5 | db n,m,N; 6 | int main() 7 | { 8 | scanf("%lf%lf%lf",&n,&m,&N); 9 | printf("%lld\n",(ll)(min((N+1)*(m/n),N))); 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#006/solution.md: -------------------------------------------------------------------------------- 1 | # Solution 2 | ``` 3 | /****************** 4 | 开始编辑时间: 5 | 结束编辑时间: 6 | 7 | VJudge链接: https://cn.vjudge.net/contest/ 8 | CodeForces链接: http://codeforces.com/contest/ 9 | 10 | 题目按CF顺序排序 11 | ******************/ 12 | ``` -------------------------------------------------------------------------------- /zkc/Codes/Contest#007/solution.md: -------------------------------------------------------------------------------- 1 | # Solution 2 | ``` 3 | /****************** 4 | 开始编辑时间: 5 | 结束编辑时间: 6 | 7 | VJudge链接: https://cn.vjudge.net/contest/ 8 | CodeForces链接: http://codeforces.com/contest/ 9 | 10 | 题目按CF顺序排序 11 | ******************/ 12 | ``` -------------------------------------------------------------------------------- /yyq/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int a,b,ans=0; 4 | int main() 5 | { 6 | scanf("%d%d",&a,&b); 7 | ans=a; 8 | while(a>=b) 9 | { 10 | ans=ans+(a/b); 11 | a=a%b+(a/b); 12 | } 13 | printf("%d\n",ans); 14 | return 0; 15 | } 16 | -------------------------------------------------------------------------------- /Anoxx/Contest10/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | char s[300000]; 5 | int n,ans; 6 | int main(){ 7 | scanf("%d",&n); 8 | scanf("%s",s); 9 | for(int i=0;i0?ans:-ans); 12 | } 13 | -------------------------------------------------------------------------------- /230575/contest11/B.pas: -------------------------------------------------------------------------------- 1 | var y:longint; 2 | x,m,b,t,ans:int64; 3 | begin 4 | readln(m,b); 5 | for y:=0 to b do 6 | begin 7 | x:=m*b-m*y; 8 | t:=(x+1)*(y*(y+1) div 2)+(y+1)*(x*(x+1) div 2); 9 | if t>ans then ans:=t; 10 | end; 11 | writeln(ans); 12 | end. 13 | -------------------------------------------------------------------------------- /Czx/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | > * X : tan90 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest14|Y|Y|Y|A|W|X|X 11 | |contest15|Y|Y|Y|W|A|X|X 12 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-008/A -New Year Candles.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int main(){ 5 | int n,b,ans=0; 6 | cin >>n>>b; 7 | ans+=n; 8 | while (n>=b){ 9 | int ff=n/b; 10 | ans+=ff;n=n%b+ff; 11 | } 12 | cout < * Yes : solved in the contest 5 | > * Accepted : solved after contest 6 | > * Waiting : solving 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | 14| Y | Y | Y | A | A | / | / 11 | 12 | -------------------------------------------------------------------------------- /xc/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest14|Y|Y|Y|A|A|X|X 10 | |contest15|Y|Y|Y|A|Y|X|X 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /fengxiao/lib/contest15/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int a,b,c,d; 4 | int main() 5 | { 6 | scanf("%d %d %d %d",&b,&a,&d,&c); 7 | while(c!=a and a<100000) a=100000) puts("-1"); 9 | else printf("%d",a); 10 | return 0; 11 | } 12 | -------------------------------------------------------------------------------- /wzz/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | using namespace std; 2 | #include 3 | #include 4 | int n,k; 5 | int ans; 6 | int main() 7 | { 8 | cin>>n>>k; 9 | while(n) 10 | { 11 | if(n 2 | #include 3 | using namespace std; 4 | int b,n,m,ans; 5 | int main() 6 | { 7 | scanf("%d%d",&n,&b); 8 | m=0; 9 | ans=0; 10 | while (n>0) 11 | { 12 | ans+=n; 13 | m+=n; 14 | n=m/b; 15 | m-=n*b; 16 | } 17 | printf("%d",ans); 18 | } 19 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-011/B -Okabe and Banana Trees.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int main(){ 4 | long long x,y,m,b,ans=0;cin >>m>>b; 5 | for (long long x=0;b-x/m>=0;x+=m){ 6 | y=b-x/m; 7 | ans=max(ans,(x+1)*(y+1)*(x+y)); 8 | } 9 | cout < 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int a,b,ans,p; 7 | int main(){ 8 | scanf("%d%d",&a,&b);p=0; 9 | while(a){ 10 | ans+=a; 11 | p+=a; 12 | a=p/b; 13 | p=p%b; 14 | } 15 | printf("%d",ans); 16 | } 17 | -------------------------------------------------------------------------------- /wzz/contest10/A.cpp: -------------------------------------------------------------------------------- 1 | using namespace std; 2 | #include 3 | int n,len,ans; 4 | char s[1000001]; 5 | int main() 6 | { 7 | cin>>n; 8 | scanf("%s",s+1); 9 | len=strlen(s+1); 10 | for(int i=1;i<=len;i++) 11 | { 12 | if(s[i]=='0') ans++;else ans--; 13 | } 14 | cout< 2 | using namespace std; 3 | char a[19]; 4 | int main() 5 | { 6 | scanf("%s",a); 7 | for(int i=0;i * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | > * ×:no question 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | | contest14 | Y | Y | Y | A | W | × | × 11 | | contest15 | Y | Y | A |W|A|×|× 12 | -------------------------------------------------------------------------------- /readme_template.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest0|Y| Y | Y | W | W | X|X 10 | | contest1 | Y | Y | Y|Y|A|Y|A 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /wxs/c11/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | #define int long long 4 | int m,b;long long MAX=-1; 5 | main(){ 6 | scanf("%lld%lld",&m,&b); 7 | for(int y=0;y<=b;y++){ 8 | int x=(b-y)*m; 9 | MAX=max(MAX,(y+1)*(x+1)*x/2+(x+1)*(y+1)*y/2); 10 | } 11 | printf("%lld",MAX); 12 | return 0; 13 | } 14 | -------------------------------------------------------------------------------- /fengxiao/lib/contest12/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define ll long long 4 | ll n,m,N,M; 5 | int main() 6 | { 7 | while(scanf("%I64d %I64d %I64d",&n,&m,&N)!=EOF) 8 | { 9 | M=(N+1)*m/n; 10 | if(M>N) M=N; 11 | printf("%I64d\n",M); 12 | } 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /Algorithm.md: -------------------------------------------------------------------------------- 1 | # 专题学习 2 | - [ ] [分块类专题](https://vjudge.net/contest/168545) 3 | - [ ] [AC自动机](https://vjudge.net/contest/167921) 4 | - [ ] [线段树入门](https://vjudge.net/contest/167923) 5 | - [ ] [线段树进阶](https://vjudge.net/contest/167922) 6 | - [ ] [字典树](https://vjudge.net/contest/167976) 7 | - [ ] [最小生成树](https://vjudge.net/contest/167924) 8 | -------------------------------------------------------------------------------- /fengxiao/lib/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int a,b,ret,ans; 5 | int main() 6 | { 7 | int i; 8 | scanf("%d %d",&a,&b); 9 | while(a!=0) 10 | { 11 | ans+=a; 12 | int tmp=(a+ret)%b; 13 | a=(a+ret)/b; 14 | ret=tmp; 15 | } 16 | printf("%d",ans); 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /wxs/c10/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define reutrn return 3 | using namespace std; 4 | stack Z; 5 | int main(){ 6 | int n,v; 7 | scanf("%d",&n); 8 | for(int i=1;i<=n;i++){ 9 | scanf("%1d",&v); 10 | if(Z.size()&&(Z.top()^v))Z.pop(); 11 | else Z.push(v); 12 | } 13 | cout< 2 | using namespace std; 3 | typedef long long ll; 4 | ll n,k,num,tmp; 5 | int main() 6 | { 7 | scanf("%d%d",&n,&k); 8 | tmp=n; 9 | for(int i=1;i<=k;i++) 10 | { 11 | scanf("%lld",&num); 12 | tmp=max(tmp+num-n,0ll); 13 | } 14 | printf("%lld\n",tmp); 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 使用指南 2 | 每场赛后更新两个文件 格式请参考solution_template.md readme_template.md 3 | ## solution_contestid.md(比如solution_contest15.md) 4 | > * 比赛AC记录 5 | > * 赛后AC记录 6 | 7 | ## readme.md 8 | **若还没有readme,在你的文件夹下增加一个readme.md文件**\ 9 | 把比赛的成绩加到readme.md里面,请参考readme_template.md 10 | 11 | ## 每场比赛精华题解在第一个文件夹(all_contests)里面, 会选取各位同学的好的总结放进去 12 | -------------------------------------------------------------------------------- /wxs/c0/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n=0,t[106],w[106],dp[205],m; 4 | int main(){ 5 | scanf("%d",&m); 6 | for(int i=1;i<=m;i++)scanf("%d%d",&t[i],&w[i]),n+=t[i],w[i]+=t[i]; 7 | for(int i=1;i<=m;i++)for(int j=n;j>=w[i];j--)dp[j]=max(dp[j],dp[j-w[i]]+t[i]); 8 | cout< 2 | #include 3 | using namespace std; 4 | long long m,b,ans; 5 | int main(){ 6 | scanf("%lld%lld",&m,&b); 7 | for(long long i=0;i<=b;i++){ 8 | long long x=(b-i)*m; 9 | long long sum=x*(x+1)/2; 10 | ans=max(ans,(sum+sum+(x+1)*i)*(i+1)/2); 11 | } 12 | printf("%lld",ans); 13 | } 14 | -------------------------------------------------------------------------------- /hexu/contest13/b.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | long int a[105]={0}; 4 | int main() 5 | { 6 | int m,n; 7 | cin>>m>>n; 8 | int i,j,k,l; 9 | for(i=0;i>j>>k>>l;a[--j]+=l;a[--k]-=l; 12 | } 13 | int sum=0; 14 | for(i=0;i0)sum+=a[i]; 15 | cout< 2 | using namespace std; 3 | int ans=0; 4 | string s; 5 | int n; 6 | int main() 7 | { 8 | scanf("%d",&n); 9 | cin>>s; 10 | for(int i=0;i 2 | using namespace std; 3 | 4 | long long n,now; 5 | 6 | int main() { 7 | cin>>n; 8 | for(long long i=1;i<=n;i++) { 9 | if(i==1) printf("2\n"); 10 | else printf("%lld\n",(long long)(i*(i+1)*(i+1)-(i-1))); 11 | } 12 | return 0; 13 | } -------------------------------------------------------------------------------- /fengxiao/lib/contest17/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | map key; 6 | int main() 7 | { 8 | int i,j,n,p,a; 9 | scanf("%d %d",&p,&n); 10 | for(i=1;i<=n;i++) {scanf("%d",&a); if(!key[a%p]) key[a%p]=1; else {printf("%d\n",i); return 0;}} 11 | puts("-1"); 12 | return 0; 13 | } 14 | -------------------------------------------------------------------------------- /tttnns/contest10/C.py: -------------------------------------------------------------------------------- 1 | n, m = map(int, input().split()) 2 | chains = [[int(x) for x in input().split()][1:] for i in range(m)] 3 | for chain in chains: 4 | for i in range(len(chain)): 5 | if chain[i] == i + 1: 6 | if i != 0: n -= 2 7 | else: 8 | break 9 | n += len(chain) - 1 10 | print(n - 1) 11 | -------------------------------------------------------------------------------- /Czx/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int main(){ 7 | int k,ans,b,p; 8 | scanf("%d%d",&ans,&b); 9 | k = ans; 10 | while (k >= b){ 11 | ans += k/b; 12 | p = k/b; 13 | (k %= b) += p; 14 | } 15 | cout << ans << endl; 16 | return 0; 17 | } 18 | -------------------------------------------------------------------------------- /langsike/contest8/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int a,b; 7 | int main() { 8 | scanf("%d%d",&a,&b); 9 | int ans=a; 10 | while (a>=b) { 11 | ans+=a/b; 12 | a=(a%b)+a/b; 13 | } 14 | printf("%d\n",ans); 15 | return 0; 16 | } 17 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#008/A-New_Year_Candles.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,m=0,k,b=0; 5 | 6 | int main() { 7 | cin>>n>>k; 8 | while(n||b) { 9 | m+=n; 10 | b+=n; 11 | n=b/k; 12 | b%=k; 13 | if(n==0&&b 2 | using namespace std; 3 | typedef long long ll; 4 | int main(){ 5 | ios::sync_with_stdio(false); 6 | ll m,b; cin>>m>>b; ll ans=0; 7 | for(int i=0;i<=b;++i){ 8 | ll x=m*(b-i),y=i; if(x<0) continue; 9 | ans=max(ans,x*(x+1)/2*(y+1)+y*(y+1)/2*(x+1)); 10 | } 11 | cout< * YES : solved in the contest 3 | > * Accepted : solved after contest 4 | > * Waiting : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest13| A | A | A | W | W | W | W 10 | |contest14| Y | Y | A | A | A | X | X 11 | |contest15| Y | Y | A | A | A | X | X 12 | -------------------------------------------------------------------------------- /yyq/contest14/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n; 4 | typedef long long ll; 5 | int main() 6 | { 7 | scanf("%d",&n); 8 | for(int i=1;i<=n;i++) 9 | { 10 | if(i==1) 11 | printf("2\n"); 12 | else 13 | cout<<(ll)(i+1)*(i+1)*i-(i-1)< 2 | #include 3 | #include 4 | using namespace std; 5 | int n,cnt[2]={0}; 6 | char s[2333333]; 7 | int main() 8 | { 9 | scanf("%d\n",&n); 10 | scanf("%s",s); 11 | for (int i=0;icnt[1]?cnt[0]-cnt[1]:cnt[1]-cnt[0]); 14 | } 15 | /*读入要小心哦。。*/ 16 | -------------------------------------------------------------------------------- /zhang2333/C8/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int n,x; 5 | int main() 6 | { 7 | scanf("%d",&n); 8 | for (int i=1;i<=n;i++) 9 | { 10 | scanf("%d",&x); 11 | while (x>0) 12 | { 13 | if (i!=n) printf("RLP"); 14 | else printf("LRP"); 15 | x--; 16 | } 17 | if (i!=n) printf("R"); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /jiangxunchi/readme.md: -------------------------------------------------------------------------------- 1 | # 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest11|Y|Y|Y|Y|A|/|/ 10 | |contest12|Y|A|A|Y|A|W|Y 11 | |contest13|Y|Y|Y|Y|A|A|W 12 | |contest14|Y|Y|Y|A|W|/|/ 13 | |contest15|Y|Y|Y|A|A|/|/ 14 | -------------------------------------------------------------------------------- /clf/contest10/#C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int main() { 4 | int n,m; 5 | scanf("%d%d",&n,&m); 6 | int ans=2*n-m+1; 7 | for(int i=0;i * YES : solved in the contest 3 | > * Accepted : solved after contest 4 | > * Waiting : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |c12| Y | W | Y | Y | W | W | W 10 | |c13| Y | Y | A | Y | A | A | W 11 | |c14| Y | Y | Y | A | W | X | X 12 | |c15| A | A | A | A | A | X | X 13 | -------------------------------------------------------------------------------- /dhl/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | > * X : 不存在的\~\~ 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest15|Y| Y | A| A | A | X|X 10 | |contest14|Y| A | Y | A | W | X|X 11 | | contest13| Y | Y | Y|A|A|A|W 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /fengxiao/lib/contest12/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define int long long 4 | int a[30],n,k,ans; 5 | inline int max(int a,int b) {return a>b?a:b;} 6 | main() 7 | { 8 | scanf("%I64d %I64d",&n,&k); 9 | for(int i=1;i<=k;i++) scanf("%I64d",&a[i]); 10 | for(int i=2;i<=k;i++) a[1]=max(0,a[1]+a[i]-n); 11 | printf("%I64d",a[1]); 12 | 13 | return 0; 14 | } 15 | -------------------------------------------------------------------------------- /wzz/contest8/B.cpp: -------------------------------------------------------------------------------- 1 | using namespace std; 2 | #include 3 | int n,m,k; 4 | int a[501]; 5 | int main() 6 | { 7 | cin>>n; 8 | for(int i=1;i<=n;i++) cin>>a[i]; 9 | for(int i=1;i<=a[1];i++){cout<<"RLP";}cout<<"R"; 10 | for(int i=2;i<=n-1;i++){for(int j=1;j<=a[i];j++)cout<<"RLP";cout<<"R";} 11 | for(int i=1;i<=a[n];i++) 12 | { 13 | cout<<"LRP"; 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-010/C -Case of Matryoshkas.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int main(){ 5 | int x,m,n,k,cnt=0; 6 | cin >>n>>k; 7 | for (int i=1;i<=k;++i){ 8 | scanf("%d",&m);cnt+=m-1; 9 | for (int i=1;i<=m;++i){ 10 | scanf("%d",&x); 11 | if (x==i) cnt-=2; 12 | } 13 | } 14 | cout < 2 | #include 3 | using namespace std; 4 | stack a; 5 | int main(){ 6 | int n; scanf("%d",&n); 7 | for(int i=1;i<=n;++i){ 8 | int c=getchar(); 9 | for(;c!='0'&&c!='1';c=getchar()); 10 | c-='0'; if(!a.empty()&&(c^a.top())){ 11 | a.pop(); 12 | }else a.push(c); 13 | } 14 | printf("%d",a.size()); return 0; 15 | } 16 | -------------------------------------------------------------------------------- /yyq/contest14/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int tot=0; 4 | int num; 5 | int x; 6 | int n,c; 7 | int main() 8 | { 9 | cin>>n>>c; 10 | cin>>num; 11 | x=num; 12 | tot++; 13 | n--; 14 | while(n--) 15 | { 16 | cin>>num; 17 | if(num-x<=c) 18 | tot++; 19 | else 20 | tot=1; 21 | x=num; 22 | } 23 | cout< 2 | using namespace std; 3 | int n; 4 | int a[200]; 5 | int ans=0,sum=0,rans=0; 6 | int main() 7 | { 8 | cin>>n; 9 | for(int i=1;i<=n;i++) 10 | { cin>>a[i];sum+=a[i];} 11 | sort(a+1,a+n+1); 12 | for(int i=n;i>=1;i--) 13 | { 14 | ans+=a[i]; 15 | if(ans>sum-ans) break; 16 | rans++; 17 | } 18 | cout< 2 | #include 3 | using namespace std; 4 | int main() 5 | { 6 | int n,k,t; 7 | int a[25]; 8 | cin>>n>>k; 9 | for (int i=1;i<=k;++i) 10 | cin>>a[i]; 11 | t=n; 12 | for (int i=1;i<=k;++i) 13 | { 14 | t=t+a[i]-n; 15 | if (t<=0) 16 | { 17 | cout<<'0'< 2 | using namespace std; 3 | int n,m,x,y,p,z; 4 | int main(){ 5 | scanf("%d%d",&n,&m); 6 | for(int i=1;i<=m;i++){ 7 | scanf("%d%d",&x,&y); 8 | if(y==1)for(int j=2;j<=x;j++){ 9 | scanf("%d",&z); 10 | if(z==y+1)y=z,p--;else p++; 11 | } 12 | else for(int j=1;j 2 | #include 3 | #define ll long long 4 | using namespace std; 5 | ll m,b,ans=0; 6 | inline ll max(ll a,ll b) {return a>b?a:b;} 7 | int main() 8 | { 9 | scanf("%I64d %I64d",&m,&b); 10 | for(ll i=0;i<=b;i++) 11 | { 12 | ll j=(b-i)*m; 13 | ll sum=(i+1)*(j+1)*(i+j)/2; 14 | ans=max(ans,sum); 15 | } 16 | printf("%I64d\n",ans); 17 | } 18 | -------------------------------------------------------------------------------- /tttnns/contest10/B.py: -------------------------------------------------------------------------------- 1 | import sys 2 | n = int(input()) 3 | a = [int(x) for x in input().split()] 4 | for i in range(1000): 5 | turn = n - a[0] 6 | ok = True 7 | for i in range(len(a)): 8 | a[i] = (a[i] + (turn if i % 2 == 0 else -turn)) % n 9 | if a[i] != i: 10 | ok = False 11 | if ok: 12 | print("Yes") 13 | sys.exit(0) 14 | print("No") 15 | -------------------------------------------------------------------------------- /yyq/contest11/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | typedef long long ll; 5 | ll m,b,ans=0,s1,s2; 6 | int main() 7 | { 8 | cin>>m>>b; 9 | for(ll x=0;x<=m*b;x++) 10 | { 11 | ll y=(ll)b-x/m; 12 | if(x%m!=0) 13 | y--; 14 | s1=(x+1)*x/2; 15 | s2=s1*(y+1)+(y+1)*y*(x+1)/2; 16 | ans=max(ans,s2); 17 | } 18 | cout< 2 | using namespace std; 3 | 4 | int n,c,ans,lst; 5 | 6 | int main() { 7 | ans=0; 8 | lst=0; 9 | scanf("%d%d",&n,&c); 10 | for(int i=1,j;i<=n;i++) { 11 | scanf("%d",&j); 12 | if(j-lst>c) ans=0; 13 | ans+=1; 14 | lst=j; 15 | } 16 | printf("%d\n",ans); 17 | return 0; 18 | } -------------------------------------------------------------------------------- /jiangxunchi/gongfuzuqiu.md: -------------------------------------------------------------------------------- 1 | # 少林足球观后感 2 | #### 男主和他的基友组成了一支球队,然后在教练的训练下使用少林功夫一路吊打进入总决赛。 3 | #### 在一开始的时候男主和女主恩恩爱爱,然后女主为了男主去整容了,然后男主换掉了女主给他的球鞋,女主非常不开心,可是男主不会哄妹子,就闹矛盾了。 4 | #### 但是在总决赛的时候,遇到了磕了假药的对手,被花式吊打,基友们都受伤下场了。可是正当人数不够就要输的时候,女主来了,然后男主和女主使用了主角光环,将对手击败。 5 | #### 结果男主功成名就,泡到了女主,走上人生巅峰。对手因为磕药被禁赛。 6 | #### 所以我们需要有一个梦想~和一个妹子~,然后不要放弃。而且不能磕药作假,否则迟早要完。还有打比赛就要像上战场一样。 7 | 8 | ## 最后,我要吐嘈一句: 9 | # 这电影真的是5毛特效! 10 | -------------------------------------------------------------------------------- /wxs/c10/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,m,ans=0,a[100005],f; 4 | int main(){ 5 | scanf("%d%d",&n,&m); 6 | for(int i=1;i<=m;i++){ 7 | int w; 8 | f=1; 9 | scanf("%d",&w); 10 | for(int j=1;j<=w;j++){ 11 | scanf("%d",&a[j]); 12 | if(f&&a[j]==j){if(j>1)ans-=2;} 13 | else f=0; 14 | } 15 | ans+=w-1; 16 | } 17 | cout< 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | char s[200005]; 7 | int main() { 8 | int a0=0,a1=0,n; 9 | scanf("%d\n",&n); 10 | scanf("%s",s); 11 | for(int i=0;ia0) printf("%d\n",a1-a0); 16 | else printf("%d\n",a0-a1); 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /yyq/contest15/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int a,b,c,d; 4 | bool book[10000005]; 5 | int main() 6 | { 7 | cin>>a>>b>>c>>d; 8 | memset(book,0,sizeof book); 9 | for(int i=0;i<=1000;i++) 10 | book[b+i*a]=true; 11 | for(int i=0;i<=1000;i++) 12 | if(book[d+i*c]) 13 | { 14 | cout< 2 | #include 3 | using namespace std; 4 | long long m,b,x; 5 | long long maxx,ans; 6 | int main(){ 7 | scanf("%lld%lld",&m,&b); 8 | for (long long i=0; i<=b; i++){ 9 | x=m*(b-i); 10 | ans=0; 11 | for (long long j=0; j<=i; j++) 12 | ans+=(x+2*j)*(x+1)/2; 13 | maxx=max(maxx,ans); 14 | } 15 | printf("%lld",maxx); 16 | return 0; 17 | } 18 | -------------------------------------------------------------------------------- /fengxiao/lib/contest14/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 100010 4 | using namespace std; 5 | int n,c,a[N],tmp[N],x,y,ans[N],cnt=0; 6 | int main() 7 | { 8 | int i; 9 | scanf("%d %d",&n,&c); 10 | for(i=1;i<=n;i++) {scanf("%d",&a[i]); tmp[i]=a[i]-a[i-1];} 11 | for(i=1;i<=n;i++) 12 | { 13 | if(tmp[i]>c) cnt=1; 14 | else cnt++; 15 | } 16 | printf("%d",cnt); 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /wxs/meaningless/solution.md: -------------------------------------------------------------------------------- 1 | 链接:https://cn.vjudge.net/contest/167920 2 | 3 | 4 | ## #A 5 | 6 | > 主要算法: 7 | 8 | ### 题意 9 | ### 题解 10 | 11 | 12 | ## #B 13 | > 主要算法: 14 | 15 | ### 题意 16 | ### 题解 17 | 18 | 19 | ## #C 20 | 21 | > 主要算法: 22 | 23 | ### 题意 24 | ### 题解 25 | 26 | 27 | ## #D 28 | 29 | > 主要算法: 30 | 31 | ### 题意 32 | ### 题解 33 | 34 | 35 | ## #E 36 | 37 | > 主要算法: 38 | 39 | ### 题意 40 | ### 题解 41 | -------------------------------------------------------------------------------- /jiangxunchi/contest10/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | int a[1001]; 4 | void error(){ 5 | printf("No"); exit(0); 6 | } 7 | int main(){ 8 | int n; scanf("%d",&n); 9 | for(int i=1;i<=n;++i) scanf("%d",&a[i]); 10 | int rot=a[1]%n; 11 | for(int i=2;i<=n;++i){ 12 | if(i%2==0) if((a[i]+rot)%n!=i-1) error(); else; 13 | else if((a[i]-rot+n)%n!=i-1) error(); 14 | } 15 | printf("Yes"); return 0; 16 | } 17 | -------------------------------------------------------------------------------- /tttnns/contest6/B.py: -------------------------------------------------------------------------------- 1 | n, k = [int(x) for x in raw_input().split()] 2 | if (n * n + 1) // 2 < k: 3 | print("NO") 4 | else: 5 | print("YES") 6 | arr = ['L'] * k + ['S'] * ((n * n + 1) // 2 - k) 7 | s = 'S'.join(arr) 8 | if n % 2 == 0: 9 | s += 'S' 10 | turn = 1 11 | while s: 12 | print(s[:n][::turn]) 13 | s = s[n:] 14 | if n % 2 == 0: 15 | turn = - turn 16 | -------------------------------------------------------------------------------- /wxs/c0/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,m,a[105]; 4 | int main(){ 5 | scanf("%d",&n); 6 | for(int i=1;i<=n;i++){ 7 | scanf("%d",a+i); 8 | } 9 | scanf("%d",&m); 10 | for(int i=1;i<=m;i++){ 11 | int x,y; 12 | scanf("%d%d",&x,&y); 13 | a[x-1]+=y-1; 14 | a[x+1]+=a[x]-y; 15 | a[x]=0; 16 | } 17 | for(int i=1;i<=n;i++){ 18 | printf("%d\n",a[i]); 19 | } 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /zhang2333/C11/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | 5 | long long m,b,ans=0; 6 | 7 | long long up(long long t) 8 | { 9 | return (t+1)*t/2; 10 | } 11 | 12 | void doit(long long x,long long y) 13 | { 14 | ans=max(ans,up(x)*(y+1)+up(y)*(x+1)); 15 | } 16 | 17 | int main() 18 | { 19 | 20 | cin>>m>>b; 21 | for (long long i=0;i<=b;i++) 22 | doit((b-i)*m,i); 23 | cout< 2 | using namespace std; 3 | int b,n; 4 | int main() 5 | { 6 | int a;bool flag=0; 7 | scanf("%d %d %d",&a,&b,&n); 8 | for(int i=0;i<=9;i++) 9 | if((a*10+i)%b==0) 10 | { 11 | a=a*10+i; 12 | //printf("%d",a); 13 | flag=1; break; 14 | } 15 | if(!flag) {puts("-1"); return 0;} 16 | printf("%d",a); 17 | for(int i=1;i * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest8 |Y|Y|Y|A|Y|A|W 10 | |contest9 |Y|Y|Y|Y|A|X|X 11 | |contest10|Y|Y|Y|A|A|X|X 12 | |contest11|Y|Y|Y|Y|A|X|X 13 | |contest12|Y|A|Y|Y|W|A|W 14 | |contest13|Y|Y|Y|Y|A|A|W 15 | |contest14|Y|Y|Y|A|A|X|X 16 | |contest15|Y|Y|A|A|A|X|X 17 | -------------------------------------------------------------------------------- /Xtx/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest8 |Y|Y|Y|Y|A|A|W 10 | |contest9 |Y|Y|A|A|A|X|X 11 | |contest10|Y|Y|Y|A|A|X|X 12 | |contest11|Y|Y|Y|Y|A|X|X 13 | |contest12|Y|A|Y|Y|W|A|W 14 | |contest13|Y|Y|Y|Y|A|A|W 15 | |contest14|Y|Y|Y|A|A|X|X 16 | |contest15|Y|Y|A|A|A|X|X 17 | -------------------------------------------------------------------------------- /fengxiao/lib/contest10/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | int n; 6 | stack sta; 7 | int main() 8 | { 9 | int i,j; 10 | scanf("%d",&n); getchar(); 11 | for(i=1;i<=n;i++) 12 | { 13 | char ch=getchar(); 14 | int num=(ch=='1')?1:0; 15 | if(!sta.empty() && sta.top()==(!num)) sta.pop(); 16 | else sta.push(num); 17 | } 18 | printf("%d",sta.size()); 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /fengxiao/lib/contest13/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define N 110 5 | using namespace std; 6 | int in[N],n,m; 7 | int ans=0; 8 | int main() 9 | { 10 | int i,j,a,b,c; 11 | scanf("%d %d",&n,&m); 12 | for(i=1;i<=m;i++) 13 | { 14 | scanf("%d %d %d",&a,&b,&c); 15 | in[a]+=c; in[b]-=c; 16 | } 17 | for(i=1;i<=n;i++) ans+=abs(in[i]); 18 | ans/=2; 19 | printf("%d",ans); 20 | return 0; 21 | } 22 | -------------------------------------------------------------------------------- /hexu/contest8/B.pas: -------------------------------------------------------------------------------- 1 | var 2 | n,i,j:longint; 3 | a:array[0..400]of longint; 4 | begin 5 | readln(n); 6 | for i:=1 to n do read(a[i]); 7 | for i:=1 to n do 8 | begin 9 | while a[i]>0 do 10 | begin 11 | if i=1 then begin write('P'); dec(a[i]); if a[i]>0 then write('RL'); end 12 | else begin write('P'); dec(a[i]);if a[i]>0 then write('LR'); end; 13 | end; 14 | if i<>n then write('R'); 15 | end; 16 | end. 17 | -------------------------------------------------------------------------------- /wzz/contest10/solution.md: -------------------------------------------------------------------------------- 1 | ## #A题 2 | 水题,遇0+1,遇1-1,最后输出abs值就可以了 3 | ## #B题 4 | 这是一道判断题,我的方法就是找到每个数的增量和,然后奇数位加,偶数位减,然后每次改变最多改变当前量n的倍数之多,所以就判断一下mod n是不是0 5 | 就可以了。 6 | ## #C 7 | 俄罗斯套娃,贪心就可以了,找出一开始的最长连续序列,然后每找到一个ans-=2,意思是少了一次加入,少了一次拆分,最后手动减k,原代价是2*n-1 8 | ## #D 9 | 本题就是一个销售找时间问题的变种,我们直接用STL的优先队列存住包含该点的区间,然后如果top不在包含这个点说明无解。贪心题 10 | ## #E 11 | 这道题就是一个比较妙的思想,找离他最近的下一个一定不会错,如果该操作与其方向不一致,说明挡住了他的去路,否则他就能和上一个走到一样高。 12 | 然后就是L的情况要it--,因为方向是倒过来的 13 | 14 | -------------------------------------------------------------------------------- /yyq/contest17/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define use_fastio ios::sync_with_stdio(false);cin.tie(0); 3 | using namespace std; 4 | set s; 5 | int n,p,x; 6 | int main() { 7 | use_fastio 8 | cin>>p>>n; 9 | for(int i=1;i<=n;i++) { 10 | cin>>x; 11 | x%=p; 12 | if(!s.count(x)) { 13 | s.insert(x); 14 | } 15 | else { 16 | cout< 2 | using namespace std; 3 | typedef long long ll; 4 | ll n; 5 | int a[100005],i; 6 | ll k,sum=0; 7 | int main() 8 | { 9 | cin>>n>>k; 10 | for(i=0;i>a[i]; 12 | sort(a,a+n); 13 | k--; 14 | for(i=0;ik) 18 | break; 19 | k-=sum*n; 20 | } 21 | cout< 2 | using namespace std; 3 | int n,a[1001]; 4 | bool judge(){ 5 | for(int i=1;i<=n;i++) 6 | if(a[i]!=(i-1))return 0; 7 | return 1; 8 | } 9 | int main(){ 10 | scanf("%d",&n); 11 | for(int i=1;i<=n;i++)scanf("%d",&a[i]); 12 | for(int i=1;i<=n;i++){ 13 | for(int j=1;j<=n;j++) 14 | a[j]=j%2?(a[j]+1)%n:(a[j]-1+n)%n; 15 | if(judge())return printf("YES"),0; 16 | } 17 | return printf("NO"),0; 18 | } 19 | -------------------------------------------------------------------------------- /fengxiao/lib/contest16/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define ll unsigned long long 5 | using namespace std; 6 | ll l,r,k; bool flag=0; 7 | int main() 8 | { 9 | scanf("%I64d %I64d %I64d",&l,&r,&k); 10 | ll num=1; 11 | if(l<=1) {printf("1 "); flag=1;} 12 | for(int i=1; num<=r/k;i++) 13 | { 14 | num*=k; 15 | if(num>=l){ printf("%I64d ",num);flag=1;} 16 | } 17 | if(!flag) puts("-1"); 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /yyq/contest4/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int tot,n,sum=0,num; 4 | int a[105]; 5 | bool cmp(int a,int b) 6 | { 7 | return a>b; 8 | } 9 | int main() 10 | { 11 | cin>>n; 12 | for(int i=1;i<=n;i++) 13 | { 14 | cin>>a[i]; 15 | sum+=a[i]; 16 | } 17 | sort(a+1,a+n+1,cmp); 18 | tot=1; 19 | num=a[1]; 20 | while(num<=sum/2) 21 | { 22 | tot++; 23 | num+=a[tot]; 24 | } 25 | cout<b then exit(a) else exit(b); 5 | end; 6 | begin 7 | readln(m,b); 8 | ans:=0; 9 | x:=0; 10 | while x<=m*b do 11 | begin 12 | y:=b-trunc(x/m); 13 | if x mod m<>0 then dec(y); 14 | s1:=(x+1)*x div 2; 15 | s2:=s1*(y+1)+(y+1)*y*(x+1) div 2; 16 | ans:=max(ans,s2); 17 | inc(x); 18 | end; 19 | writeln(ans); 20 | end. 21 | -------------------------------------------------------------------------------- /jiangxunchi/contest8/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | int main(){ 3 | int n; scanf("%d",&n); 4 | for(int i=1;i<=n;++i){ 5 | int x; scanf("%d",&x); 6 | if(x==0){ 7 | if(i!=n) printf("R"); 8 | continue; 9 | } 10 | if(i==1){ 11 | printf("P"); 12 | for(int i=1;i * Y: solved in the contest 3 | > * A: solved after contest 4 | > * W: solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | | contest14 | Y | Y | Y|A|A|X|X 10 | | contest15 | Y   |   Y   | A|A|A|X|X 11 | | contest16 | Y   |   Y   | Y|W|W|X|X 12 | | contest17 | Y   |   Y   | Y|A|A|X|X 13 | | contest18 | Y   |   Y   | Y|Y|A|A|X 14 | | contest19 | Y   |   Y   | Y|Y|W|X|X 15 | -------------------------------------------------------------------------------- /tttnns/contest8/B.py: -------------------------------------------------------------------------------- 1 | n = int(input()) 2 | a = [int(x) for x in input().split()] 3 | sm = sum(a) 4 | lst = [] 5 | pos = 0 6 | turn = 1 7 | while sm > 0: 8 | if a[pos] > 0: 9 | lst.append('P') 10 | sm -= 1 11 | a[pos] -= 1 12 | if pos + turn not in range(len(a)): 13 | turn = -turn 14 | pos += turn 15 | if turn == 1: 16 | lst.append('R') 17 | else: 18 | lst.append('L') 19 | print(''.join(lst[:-1])) 20 | -------------------------------------------------------------------------------- /Anoxx/Contest11/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,s[300005],top; 5 | 6 | int main() 7 | { 8 | int i,j,ans=0; 9 | char op[15]; 10 | scanf("%d",&n); 11 | for(i=j=1;i<=2*n;++i) 12 | { 13 | scanf("%s",op); 14 | if(op[0]=='a') 15 | scanf("%d",&s[++top]); 16 | else 17 | { 18 | if(top) 19 | { 20 | if(s[top]==j) --top; 21 | else top=0,++ans; 22 | } 23 | ++ j; 24 | } 25 | } 26 | printf("%d\n",ans); 27 | } 28 | -------------------------------------------------------------------------------- /fengxiao/lib/CC/contest_JULY17/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define int long long 5 | using namespace std; 6 | int n,b; 7 | inline int max(int a,int b) {return a>b?a:b;} 8 | main() 9 | { 10 | int T; 11 | cin>>T; 12 | while(T--) 13 | { 14 | cin>>n>>b; 15 | int ans=(n/2/b*b)*(n-(n/2/b*b))/b; 16 | if(n/2/b*b!=n/2) 17 | ans=max((n/2/b*b+b)*(n-(n/2/b*b+b))/b,ans); 18 | cout< 2 | #include 3 | using namespace std; 4 | int n,a[1010]; 5 | int main() 6 | { 7 | int i; 8 | scanf("%d",&n); 9 | for(i=1;i<=n;i++) scanf("%d",&a[i]); 10 | int t=(n-a[1])%n; 11 | for(i=2;i<=n;i++) 12 | if(i&1) 13 | { 14 | if((a[i]+t)%n!=i-1) {printf("No"); return 0;} 15 | } 16 | else 17 | { 18 | if((a[i]-t+n)%n!=i-1) {printf("No"); return 0;} 19 | } 20 | printf("Yes"); 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /jhd/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest 12|A|A|Y|Y|A|A|A 11 | |contest 13|Y|Y|Y|Y|A|A|W 12 | |contest 14|Y|Y|A|A|A|X|X| 13 | |contest 15|Y|Y|A|A|A|X|X| 14 | |contest 16|Y|Y|Y|A|A|X|X| 15 | |contest 17|Y|Y|Y|A|A|X|X| 16 | |contest 18|Y|Y|Y|A|A|A|X| 17 | |contest 19|Y|Y|Y|Y|A|X|X| 18 | 19 | -------------------------------------------------------------------------------- /wxs/c10/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define reutrn return 3 | using namespace std; 4 | int main(){ 5 | int v,n,z; 6 | scanf("%d",&n); 7 | for(int i=0;i 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #define eps 0.00000001 11 | using namespace std; 12 | long double n,m,k,mi=10000000000000000; 13 | int ans; 14 | 15 | int main() 16 | { 17 | cin>>n>>m>>k; 18 | k+=1.0; 19 | ans=(k*m/n); 20 | if (ans>k-1) ans=k-1; 21 | cout< * Y : solved in the contest 4 | > * A : solved after contest 5 | > * W : solving 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest15|Y|Y|A|A|W|X|X 11 | |xjoi1|Y|A|A|Y|X|X|X 12 | |xjoi2|Y|Y|A|X|X|X|X 13 | |xjoi3|A|Y|A|X|X|X|X 14 | |contest16|Y|Y|A|W|W|X|X 15 | |contest17|Y|Y|Y|A|A|X|X 16 | |contest18|Y|Y|Y|A|A|X|X 17 | |contest19|Y|Y|Y|Y|A|X|X 18 | |contest20|Y|Y|A|W|A|Y|W 19 | 20 | -------------------------------------------------------------------------------- /fengxiao/lib/contest13/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | char s[10000010]; int pos; 5 | long long v=0; 6 | int main() 7 | { 8 | int i; 9 | scanf("%s",s); 10 | int ls=strlen(s); 11 | for(i=0;i='0'&& s[i]<='9') 14 | v+=(s[i]-'0')*(pos-i); 15 | if(v==0) puts("balance"); 16 | else if(v>0) puts("left"); 17 | else if(v<0) puts("right"); 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /hexu/contest13/c.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | const int ans[7]={1869,6198,1896,1689,1986,1968,1698}; 6 | int main() 7 | { 8 | string s; 9 | cin>>s; 10 | int a[10]={},tmp=0; 11 | for(int i=0;i 2 | using namespace std; 3 | int n,a[100][100],o; 4 | int main(){ 5 | scanf("%d",&n); 6 | for(int i=0;i 2 | using namespace std; 3 | int a[55][55]; 4 | int main(){ 5 | int n,m; 6 | scanf("%d%d",&n,&m); 7 | for(int i=1;i<=n;i++){ 8 | if(i%2){ 9 | for(int j=1;j<=m;j++)putchar('#'); 10 | putchar('\n'); 11 | }else if(i%4){ 12 | for(int j=1;j 2 | using namespace std; 3 | long long i,n,m,k=1,f,x,r[300001]; 4 | string s; 5 | int main() 6 | { 7 | cin>>n; 8 | for (i=1;i<=2*n;i++) 9 | { 10 | cin>>s; 11 | if (s=="add") 12 | { 13 | cin>>x; 14 | f++; 15 | r[f]=x; 16 | } 17 | else 18 | { 19 | if(f>0&&r[f]!=k) 20 | { 21 | f=0; 22 | m++; 23 | } 24 | else if(f>0) 25 | f--; 26 | k++; 27 | } 28 | } 29 | cout< 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int pr[500010];char a[500010]; 7 | int main(){ 8 | int n,ans; 9 | cin >>n;ans=n;a[0]='R'; 10 | for (int i=1;i<=n;++i) cin >>a[i]; 11 | for (int i=1;i<=n;++i) pr[i]=i-1; 12 | for (int i=2;i<=n;++i) 13 | if (a[i]==a[pr[i]]+1||a[i]+1==a[pr[i]]) 14 | ans-=2,pr[i+1]=pr[pr[i]]; 15 | cout < 2 | #define LL long long 3 | #define P pair 4 | using namespace std; 5 | LL n,rx,ry; 6 | LL m,b; 7 | vector

v; 8 | LL ans=0; 9 | 10 | int main() 11 | { 12 | cin>>m>>b; 13 | rx=m*b;ry=b; 14 | for(LL i=0;i<=ry;i++) 15 | v.push_back(P((LL)(b-i)*m,i)); 16 | for(LL i=0;i 2 | //#define use_fastio; ios::sync_with_stdio(false);cin.tie(0); 3 | using namespace std; 4 | typedef unsigned long long ll; 5 | ll l,r,k; 6 | bool f=0; 7 | int main() { 8 | // use_fastio; 9 | cin>>l>>r>>k; 10 | for(ll i=1;i<=r;i*=k) { 11 | if(i>=l) { 12 | f=1; 13 | cout<=i) 16 | continue; 17 | else 18 | break; 19 | } 20 | if(!f) { 21 | cout<<"-1"; 22 | } 23 | cout< 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int n,m,k,tmp; 7 | set S; 8 | int main() 9 | { 10 | int i,j; 11 | cin>>n>>m; 12 | for (i=1;i<=m;i++) 13 | { 14 | S.clear(); 15 | int flag=0; 16 | cin>>k; 17 | for (j=1;j<=k;j++) 18 | { 19 | cin>>tmp; 20 | S.insert(tmp); 21 | if (S.find(-tmp)!=S.end()) flag=1; 22 | } 23 | if(!flag){puts("YES"); return 0;} 24 | } 25 | puts("NO"); 26 | } 27 | -------------------------------------------------------------------------------- /wxs/c8/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,a[305],Max=-1,sum=0; 4 | int main(){ 5 | scanf("%d",&n); 6 | for(int i=1;i<=n;i++){ 7 | scanf("%d",a+i); 8 | sum+=a[i]; 9 | Max=max(a[i],Max); 10 | } 11 | for(int i=1;i<=Max;i++){ 12 | for(int j=1;j<=n;j++){ 13 | if(a[j])printf("P"),a[j]--,sum--; 14 | if(sum==0)break; 15 | if(j!=n)printf("R"); 16 | } 17 | if(sum!=0)for(int j=1;j 3 | #include 4 | #include 5 | #include 6 | #include 7 | #define N 1001 8 | int a[N]; 9 | int n; 10 | int main() 11 | { 12 | cin>>n; 13 | for(int i=1;i<=n;i++) cin>>a[i]; 14 | int ans=0; 15 | for(int i=1;i<=n;i++) 16 | { 17 | if(i%2==1) 18 | { 19 | ans+=(a[i]-(i-1)); 20 | } 21 | else 22 | { 23 | ans-=(a[i]-(i-1)); 24 | } 25 | } 26 | if(ans%n==0)puts("Yes"); 27 | else puts("No"); 28 | } 29 | -------------------------------------------------------------------------------- /fengxiao/lib/contest17/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | char s[1000010]; 6 | int v[100]; 7 | int main() 8 | { 9 | int i,j,ls,n,ans=0; 10 | scanf("%s",s); ls=strlen(s); 11 | scanf("%d",&n); 12 | for(i=1;i<=26;i++) scanf("%d",&v[i]); 13 | int maxn=0,pos; 14 | for(i=1;i<=26;i++) if(v[i]>maxn) {maxn=v[i]; pos=i;} 15 | for(i=0;i k: 17 | r = arr.pop() 18 | l = arr.pop() 19 | arr.append(l + r) 20 | print("YES") 21 | for st in arr: 22 | print(st) 23 | -------------------------------------------------------------------------------- /zhang2333/C12/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #define eps 0.00000001 11 | using namespace std; 12 | long long n,k,a,t=0; 13 | 14 | int main() 15 | { 16 | while (clock()<980); 17 | cin>>n>>k; 18 | for (int i=1;i<=k;i++) 19 | { 20 | cin>>a; 21 | t+=a; 22 | if (i>1) t=max((long long)0,t-n); 23 | } 24 | cout< 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | using namespace std; 8 | int n,m,u,v,w; 9 | int a[105]; 10 | int main() 11 | { 12 | scanf("%d%d",&n,&m); 13 | memset(a,0,sizeof(a)); 14 | for (int i=1;i<=m;++i) 15 | { 16 | scanf("%d%d%d",&u,&v,&w); 17 | a[u]+=w; 18 | a[v]-=w; 19 | } 20 | int ans=0; 21 | for (int i=1;i<=n;++i) 22 | if (a[i]>0) ans+=a[i]; 23 | printf("%d",ans); 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-010/B -Case of Fake Numbers.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int a[1010]; 5 | int main(){ 6 | int n;cin >>n; 7 | for (int i=1;i<=n;++i) scanf("%d",&a[i]); 8 | for (int i=1;i<=5000;++i){ 9 | bool flag=true; 10 | for (int i=1;i<=n;++i) 11 | if (a[i]!=i-1) {flag=0;break;} 12 | if (flag){puts("Yes");return 0;} 13 | for (int i=1;i<=n;++i) 14 | if (i%2==1) a[i]=(a[i]+1)%n; 15 | else a[i]=(a[i]-1+n)%n; 16 | } 17 | puts("No");return 0; 18 | } 19 | -------------------------------------------------------------------------------- /jiangxunchi/contest11/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | stack S; 4 | int main(){ 5 | ios::sync_with_stdio(false); 6 | int n,ans=0,cnt=0; cin>>n; 7 | for(int i=1;i<=n*2;++i){ 8 | string s; cin>>s; 9 | if(s=="remove"){ 10 | ++cnt; 11 | if(S.empty()) continue; 12 | if(S.top()==cnt) S.pop(); 13 | else{ 14 | ++ans; 15 | for(;!S.empty();S.pop()); 16 | } 17 | }else if(s=="add"){ 18 | int x; cin>>x; 19 | S.push(x); 20 | } 21 | } 22 | cout< 2 | using namespace std; 3 | typedef double db; 4 | const db INF=99999999; 5 | set s; 6 | int n; 7 | db x,y; 8 | db xx,yy; 9 | db k; 10 | int main() 11 | { 12 | cin>>n>>x>>y; 13 | for(int i=1;i<=n;i++) 14 | { 15 | cin>>xx>>yy; 16 | if(xx!=x&&yy!=y) 17 | k=(yy-y)/(xx-x); 18 | if(xx==x&&yy!=y) 19 | k=INF; 20 | if(yy==y&&xx!=x) 21 | k=-INF; 22 | s.insert(k); 23 | // cout<<"Case #"< 2 | #include 3 | using namespace std; 4 | int n,a[310]; 5 | int main() 6 | { 7 | int i; 8 | scanf("%d",&n); 9 | for(i=1;i<=n;i++) scanf("%d",&a[i]); 10 | for(i=1;i<=n;i++) 11 | { 12 | if(i!=n) 13 | { 14 | if(a[i]!=0) {printf("P");a[i]--;} 15 | while(a[i]!=0) {printf("RLP"),a[i]--;} 16 | printf("R"); 17 | } 18 | else 19 | { 20 | if(a[i]!=0) {printf("P");a[i]--;} 21 | while(a[i]!=0) {printf("LRP"),a[i]--;} 22 | } 23 | } 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /yyq/contest13/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,m,x,y,z,a[1000],s=0; 4 | int main () 5 | { 6 | scanf("%d%d",&n,&m); 7 | memset(a,0,sizeof(a)); 8 | if(m==0) 9 | { 10 | printf("0\n"); 11 | return 0; 12 | } 13 | for(int i=0;i0) 21 | s+=a[i]; 22 | printf("%d\n",s); 23 | return 0; 24 | } 25 | -------------------------------------------------------------------------------- /wxs/ToDoList.md: -------------------------------------------------------------------------------- 1 | ## Todolist && contest history 2 | …………………………省略一部分……………………………… 3 | - [x] contest8 4 | - [x] A 5 | - [x] B 6 | - [x] C 7 | - [x] D \* 8 | - [ ] E 9 | - [ ] F 10 | - [ ] G 11 | - [x] contest9 12 | - [x] A 13 | - [x] B 14 | - [ ] C 15 | - [x] D \* 16 | - [x] E \* 17 | - [x] contest10 18 | - [x] A 19 | - [x] B 20 | - [x] C 21 | - [x] D \* 22 | - [x] E \* 23 | - [x] contest11 24 | - [x] A 25 | - [x] B 26 | - [x] C 27 | - [x] D \* 28 | - [x] E \* 29 | -------------------------------------------------------------------------------- /zhaimingshuzms/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest5|Y|Y|Y|A|W|X|X 10 | |contest6|Y|Y|Y|A|A|W|X 11 | |contest7|A|A|W|W|W|X|X 12 | |contest8|A|A|A|A|A|A|W 13 | |contest9|Y|Y|A|A|W|X|X 14 | |contest10|Y|Y|Y|A|A|X|X 15 | |contest11|Y|Y|Y|A|A|X|X 16 | |contest12|Y|A|Y|Y|W|A|A 17 | |contest13|Y|Y|A|Y|A|A|W 18 | |contest14|Y|Y|Y|A|W|X|X 19 | |contest15|Y|Y|Y|A|A|X|X 20 | -------------------------------------------------------------------------------- /Anoxx/Contest9/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define MOD 1000000007 3 | #define ll long long 4 | using namespace std; 5 | ll ans,n,m,s,f[2001][2001]; 6 | int main(){ 7 | scanf("%lld%lld",&n,&m); 8 | for(int i=1;i<=m;i++)f[1][i]=1; 9 | for(int i=2;i<=n;i++){ 10 | int s=0;f[i][1]=1; 11 | for(int j=2;j<=m;j++){ 12 | s=(s+f[i-1][j])%MOD; 13 | f[i][j]=(f[i][j-1]+s)%MOD; 14 | } 15 | } 16 | for(int i=1;i<=n;i++) 17 | for(int j=2;j<=m;j++)ans=(ans+(m-j+1)*(f[i][j]-f[i-1][j]+MOD)%MOD*f[n-i+1][j])%MOD; 18 | printf("%lld",ans); 19 | } 20 | -------------------------------------------------------------------------------- /wxs/c11/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | vector a; 4 | int ans=0,n,t=0,o=0; 5 | char s[7]; 6 | int main(){ 7 | scanf("%d",&n); 8 | for(int i=1;i<=n*2;i++){ 9 | scanf("%s",s); 10 | if(s[0]=='a'){ 11 | int v; 12 | scanf("%d",&v); 13 | a.push_back(v); 14 | }else{ 15 | if(t 2 | using namespace std; 3 | int n,m; 4 | int x,y; 5 | int w[105]; 6 | int main() 7 | { 8 | scanf("%d",&n); 9 | for(int i=1;i<=n;i++) 10 | scanf("%d",&w[i]); 11 | scanf("%d",&m); 12 | for(int i=1;i<=m;i++) 13 | { 14 | scanf("%d%d",&x,&y); 15 | if(x==1) 16 | w[2]+=w[1]-y; 17 | else if(x==n) 18 | w[n-1]+=y-1; 19 | else 20 | { 21 | w[x+1]+=w[x]-y; 22 | w[x-1]+=y-1; 23 | } 24 | w[x]=0; 25 | } 26 | for(int i=1;i<=n;i++) 27 | printf("%d\n",w[i]); 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /clf/contest10/#B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int seq[1005]; 5 | int main() { 6 | int n; 7 | scanf("%d",&n); 8 | for(int i=1;i<=n;i++) scanf("%d",&seq[i]); 9 | for(int i=1;i<=n*3;i++) { 10 | bool flag=1; 11 | for(int j=1;j<=n;j++) if(seq[j]!=j-1) {flag=0;break;} 12 | if(flag) { 13 | printf("Yes\n"); 14 | return 0; 15 | } 16 | for(int j=1;j<=n;j++) { 17 | if(j%2) seq[j]=(seq[j]+1)%n; 18 | else seq[j]=(seq[j]+n-1)%n; 19 | } 20 | } 21 | printf("No\n"); 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#011/B-Okabe_and_Banana_Trees.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | typedef long long ll; 4 | ll m,b,n,ans=0; 5 | int main() { 6 | cin>>m>>b; 7 | ll k=m*b; 8 | for(ll i=1;i<=k;i++) { 9 | ll x=(-i*1.0)/m+b; 10 | if((double)(-i*1.0)/m+b!=x) continue; 11 | ll fir=x*(x+1)/2,las=fir+i*(x+1); 12 | ll tmp=(fir+las)*(i+1)/2; 13 | //printf("[%lld,%lld] : %lld~%lld =%lld\n",i,x,fir,las,tmp); 14 | if(tmp>ans) ans=tmp; 15 | } 16 | cout< 2 | using namespace std; 3 | #define int long long 4 | const int p=1000000007; 5 | int dp[2005][2005],n,k; 6 | main(){ 7 | scanf("%lld%lld",&n,&k); 8 | for(int i=1;i<=n;i++){ 9 | int s=0; 10 | for(int j=2;j<=k;j++){ 11 | (s+=dp[i-1][j])%=p; 12 | dp[i][j]=(s+(j>2?dp[i][j-1]:1))%p; 13 | } 14 | } 15 | int ans=0; 16 | for(int i=1;i<=n;i++){ 17 | for(int j=2;j<=k;j++){ 18 | (ans+=(k-j+1)*(dp[i][j]-dp[i-1][j]+p)%p*(dp[n-i+1][j])%p)%=p; 19 | } 20 | } 21 | printf("%lld",ans); 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-011/C -Okabe and Boxes.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int sta[500010]; 7 | string ss; 8 | bool cmp(int a,int b){return a>b;} 9 | int main(){ 10 | int n,top=0,x,cnt=0,ans=0;cin >>n; 11 | for (int i=1;i<=2*n;++i){ 12 | cin >>ss;if (ss[0]=='a') cin >>x; 13 | if (ss[0]=='a') sta[++top]=x; 14 | else{ 15 | if (top==0){++cnt;continue;} 16 | if (sta[top]!=++cnt) ++ans,top=0;else --top; 17 | } 18 | } 19 | cout < 2 | typedef long long int ll; 3 | char s[1000200]; 4 | ll a, b; 5 | ll i, j, n, k, l, p, r; 6 | int main(){ 7 | scanf("%s", s); 8 | l = r = 0; 9 | for (i = 0; s[i]; i++) if (s[i] == '^') p = i; 10 | for (i = 0; s[i]; i++) if (s[i] != '^' && s[i] != '='){ 11 | if (i < p) l += (p - i) * (s[i] - 48); 12 | else r += (i - p) * (s[i] - 48); 13 | } 14 | if (l == r) printf("balance"); 15 | else if (l > r) printf("left"); 16 | else printf("right"); 17 | return 0; 18 | } 19 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-008/C -New Year Ratings Change.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | struct XY{int v,id;}a[500000]; 6 | bool cmp(XY a,XY b){return a.v>n; 10 | for (int i=1;i<=n;++i) scanf("%d",&a[i].v),a[i].id=i; 11 | sort(a+1,a+1+n,cmp); 12 | for (int i=2;i<=n;++i) 13 | if (a[i].v<=a[i-1].v) a[i].v=a[i-1].v+1; 14 | sort(a+1,a+1+n,cmp2); 15 | for (int i=1;i<=n;++i) printf("%d ",a[i]); 16 | return 0; 17 | } 18 | -------------------------------------------------------------------------------- /jiangxunchi/contest8/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | struct data{ 5 | int v,d; 6 | }a[300001]; 7 | bool operator<(data a,data b){ 8 | return a.vcnt) cnt=a[i].v; 20 | ans[a[i].d]=cnt; ++cnt; 21 | } 22 | for(int i=1;i<=n;++i) 23 | printf("%d ",ans[i]); 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /Cxt/gongfuzuqiu.md: -------------------------------------------------------------------------------- 1 | > #

少林足球 2 | 3 | 4 | > 少林足球是周星驰的经典之作,讲述了沦落人间的少林弟子从咸鱼变成足球高手的逆袭故事. 5 | 6 | > 其中不乏经典语句: 7 | 8 | > ## 做人如果没梦想,那跟咸鱼有什么分别啊? 9 | 10 | > 人活在这个世上,不能没有理想. 11 | 12 | > 你可以没有富裕的家庭背景,没有帅气的外貌(电影除外),没有快乐的童年,但是你不能没有理想. 13 | 14 | > 如果你没有理想,你就永远不能咸鱼翻身.如果你没有理想,你就和活死人一样. 15 | 16 | > 所以你要树立自己的人生目标,并且一生向着它努力,屡败屡战,才能实现自己人生的意义. 17 | 18 | > ## 真正的比赛,就是打仗! 19 | 20 | > 这表面是对于电影中暴力足球的吐槽,实际上却道出了实情. 21 | 22 | > 在我们的短短的一生中,比赛就是打仗,只有每次都用全力去拼,去抢,像打仗一样,才能在残酷的斗争中找到自己的一席之地. 23 | 24 | > ## 虚名而已,就好像浮云一样。 25 | 26 | > 周星驰的电影就是这样,让我们在嘻嘻哈哈中体会到人生的辛酸,在主人公的一步步成长中学到人生的道理. 27 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-011/A -Okabe and Future Gadget Laboratory.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int a[100][100]; 5 | int main(){ 6 | int n;cin >>n; 7 | for (int i=1;i<=n;++i) 8 | for (int j=1;j<=n;++j) cin >>a[i][j]; 9 | for (int i=1;i<=n;++i) 10 | for (int j=1;j<=n;++j) 11 | if (a[i][j]!=1){ 12 | int flag=false; 13 | for (int s=1;s<=n;++s) 14 | for (int t=1;t<=n;++t) 15 | if (a[i][s]+a[t][j]==a[i][j]){flag=true;break;} 16 | if (!flag){puts("No");return 0;} 17 | } 18 | puts("Yes");return 0; 19 | } 20 | -------------------------------------------------------------------------------- /wrq/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | | contest11 | Y | Y | A | W | W | X | X  10 | | contest12 | Y | W | A | Y | W | A | W 11 | | contest13 | Y | Y | A | A | W | W | W 12 | | contest14 | Y | Y | A | A | W | X | X 13 | | contest15 | Y | Y | A | W | W | X | X 14 | | contest16 | Y | Y | A | A | W | X | X 15 | | contest17 | Y | Y | A | A | A | X | X 16 | | contest18 | A | A | Y | A | A | W | X 17 | -------------------------------------------------------------------------------- /xhkxhk/contest10/solution.md: -------------------------------------------------------------------------------- 1 | ### A 2 |
这是一道贪心,顺序什么的并不重要。因此本着贪到贪无可贪的原则,我们只需输出所有的0和1的个数再减一减就可以A掉了 3 | ### B 4 |
此题有o(n)的标程(http://paste.ubuntu.com/11788578/) 5 |
不过作为一只蒟蒻,本渣只打出了n^2程序 6 |
思路大致如下 7 |
转一遍,检验一遍,如果转完n次仍不能成功,那就没有什么价值继续了,输出’NO' 8 | ### C 9 |  如果不是从一开始连着套的套娃,总是要拆开来的,多分几份反而是方便了,有n份就少开了n个,合并共需m-1次。有1-k连的情况,拆分合并均省k次,综上所述,共需2m+1-n-2l次 10 | ### D 11 | 每个岛(l,r),应该尽量找大于等于l,并且小于等于r,跟r相差最小的,那么可以对岛进行排序,然后维护一个set,用来找离r最近的是哪座桥。 12 | ### E 13 | 首先离散化,我是对x坐标离散的,然后维护一个左边界限和上边界线,每次之需要查询,然后进行更新,更新的时候要注意,是更新这个点和他能走到的那个格子的x坐标之间的副对角线上的点 14 | -------------------------------------------------------------------------------- /zhaimingshuzms/contest11/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | const int INF=1e9; 5 | int n,ans,x[500001],p[500001],minn,maxx,o,tot,tot2; 6 | char s[21]; 7 | bool flag; 8 | bool cmp(int x,int y){ 9 | return x>y; 10 | } 11 | int main(){ 12 | scanf("%d",&n); 13 | for (int i=1; i<=2*n; i++){ 14 | scanf("%s",s); 15 | if (s[0]=='a') 16 | scanf("%d",&x[++tot]); 17 | else{ 18 | ++tot2; 19 | if (x[tot]!=tot2&&tot>o) o=tot,ans++; 20 | tot--; o=min(o,tot); 21 | } 22 | } 23 | printf("%d",ans); 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /wzz/contest9/solution.mp: -------------------------------------------------------------------------------- 1 | # ##A 2 | /*** 3 | A题线段树或打标记,我下次手贱想打线段树时,一定要先想到打标记的方法 4 | ***/ 5 | /*** 6 | B题就是反向建图然后跑floyed,floyed都忘了,我真是够傻,一定要f更新f! 7 | ***/ 8 | /*** 9 | C题就是一个DP,像这种数据范围小,元素类型少的应该想到DP 10 | ***/ 11 | /*** 12 | D题也是一个DP,这个DP是前缀和套前缀和的DP,最后还用了容斥,我要详细写一下。 13 | 这题DP f[i][j]表示前i行单调不减,第i行取j个黑格的方案总数 14 | 然后DP方程中f[i][j]+=f[i-1][j]就是有两种理解,第一种是转化成前缀和的前缀和:即系数递增的前缀和。 15 | 第二种就是说我们加进来这个东西上面相当于是固定在第一位的,破的方法就是加上前一维,相当于最后加上一个时更新方案。 16 | 然后最后统计的时候要剪掉前面和他相同个数时,将其重复算的个数,然后就可以A了 17 | ***/ 18 | /*** 19 | E题是类似那个期望值问题的题,我们维护一下坐标之和和元素个数再加上维护答案即可,这种题目下次一定要大力推一发,再加个离散化就能做了。 20 | ***/ 21 | -------------------------------------------------------------------------------- /zhaimingshuzms/contest11/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,a[51][51]; 4 | int main(){ 5 | scanf("%d",&n); 6 | for (int i=1; i<=n; i++) 7 | for (int j=1; j<=n; j++) 8 | scanf("%d",&a[i][j]); 9 | bool ff=0; 10 | for (int i=1; i<=n; i++) 11 | for (int j=1; j<=n; j++){ 12 | bool flag=0; 13 | if (a[i][j]>1){ 14 | for (int k=1; k<=n; k++) 15 | for (int l=1; l<=n; l++) 16 | if (a[i][j]==a[k][j]+a[i][l]) flag=1; 17 | } else flag=1; 18 | if (!flag) ff=1; 19 | } 20 | if (!ff) printf("Yes"); else printf("No"); 21 | return 0; 22 | } 23 | -------------------------------------------------------------------------------- /xjdx/solution_template.md: -------------------------------------------------------------------------------- 1 | # 比赛记录 2 | 3 | [比赛链接](https://www.codeforces.com) 4 | ## A 5 | ### Problem description 6 | > 输出我要虐题 7 | ### Solution 8 | 仔细分析一下,这个题可以用一个printf语句解决 9 | ```cpp 10 | #include 11 | using namespace std; 12 | int main () { 13 | printf("I want AC\n"); 14 | } 15 | ``` 16 | 17 | ***** 18 | # 赛后补题 19 | 20 | ## B 21 | ### Problem description 22 | > 输出我要补题 23 | ### Solution 24 | 仔细分析一下,这个题可以用一个printf语句解决 25 | ```cpp 26 | #include 27 | using namespace std; 28 | int main () { 29 | printf("I want buti\n"); 30 | } 31 | ``` 32 | -------------------------------------------------------------------------------- /yyq/contest1/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,m; 4 | int main() 5 | { 6 | scanf("%d%d",&n,&m); 7 | for(int i=1;i<=n;i++) 8 | { 9 | if(i%2==0&&i%4!=0) 10 | { 11 | for(int j=1;j<=m-1;j++) 12 | putchar('.'); 13 | putchar('#'); 14 | putchar('\n'); 15 | } 16 | else if(i%4==0) 17 | { 18 | putchar('#'); 19 | for(int j=1;j<=m-1;j++) 20 | putchar('.'); 21 | putchar('\n'); 22 | } 23 | else 24 | { 25 | for(int j=1;j<=m;j++) 26 | putchar('#'); 27 | putchar('\n'); 28 | } 29 | } 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#006/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,a[110][110],k,ans=0; 5 | 6 | int main() { 7 | cin>>n>>k; 8 | int i=1,j=1; 9 | while(ansn) { 14 | j++; 15 | i=j%2; 16 | if(i==0) i=2; 17 | } 18 | } 19 | if(ans>=k) { 20 | puts("YES"); 21 | for(int i=1;i<=n;i++) { 22 | for(int j=1;j<=n;j++) { 23 | if(a[i][j]==1) cout<<"L"; 24 | else cout<<"S"; 25 | } 26 | cout< 2 | #define int long long 3 | using namespace std; 4 | int n,m,ans=0,g[2010][2010],f[2010][2010],MOD=1e9+7; 5 | void pls(int &x,int y){x+=y;x%=MOD;} 6 | main(){ 7 | cin >>n>>m; 8 | for (int i=1;i<=n;++i){ 9 | int sum=0; 10 | for (int j=2;j<=m;++j) 11 | pls(f[i][j],g[i-1][j]+1), 12 | pls(sum,f[i][j]), 13 | pls(g[i][j],g[i][j-1]+sum); 14 | } 15 | for (int i=1;i<=n;++i) 16 | for (int j=2;j<=m;++j) 17 | pls(ans,f[i][j]*(g[n-i][j]-f[n-i][j]+1)%MOD*(m-j+1)%MOD); 18 | cout < 2 | #include 3 | #define N 60 4 | using namespace std; 5 | int a[N][N],n; 6 | bool flag=0; 7 | int main() 8 | { 9 | int i,j; 10 | scanf("%d",&n); 11 | for(i=1;i<=n;i++) 12 | for(j=1;j<=n;j++) 13 | scanf("%d",&a[i][j]); 14 | for(i=1;i<=n;i++) 15 | for(j=1;j<=n;j++) 16 | if(a[i][j]!=1) 17 | { 18 | flag=0; 19 | for(int s=1;s<=n;s++) 20 | for(int t=1;t<=n;t++) 21 | if(a[i][s]+a[t][j]==a[i][j]) {flag=1; break;} 22 | if(!flag) {printf("No\n"); return 0;} 23 | } 24 | printf("Yes\n"); 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /fengxiao/lib/contest18/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | char s[100010],ans[100010]; int lst=0; 6 | struct P {int v,pos;} a[100010]; 7 | bool cmp(P a,P b) {return a.v==b.v ? a.posb.v;} 8 | int main() 9 | { 10 | scanf("%s",s); int n=strlen(s); 11 | for(int i=0;inow) ans[++lst]=a[i].v+'a',now=a[i].pos; 17 | } 18 | for(int i=1;i<=lst;i++) printf("%c",ans[i]); 19 | return 0; 20 | } 21 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-008/B -New Year Present.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int a[200000]; 4 | int main(){ 5 | int n,sum=0;cin >>n; 6 | for (int i=1;i<=n;++i) cin >>a[i],sum+=a[i]; 7 | int loc=1;bool flag=0; 8 | while (sum>0){ 9 | if (a[loc]){ 10 | if (!flag){flag=1;--sum;--a[loc];cout <<'P';} 11 | else{ 12 | if (loc==1) cout <<"RL"; 13 | else cout <<"LR"; 14 | flag=1;--sum;--a[loc];cout <<'P'; 15 | } 16 | }else cout <<'R',++loc,flag=0; 17 | } 18 | return 0; 19 | } 20 | -------------------------------------------------------------------------------- /jiangxunchi/contest11/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int a[51][51]; 4 | int main(){ 5 | ios::sync_with_stdio(false); 6 | int n; cin>>n; 7 | for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) 8 | cin>>a[i][j]; 9 | for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) 10 | if(a[i][j]!=1){ 11 | bool get=0; 12 | for(int s=1;s<=n;++s){ 13 | for(int t=1;t<=n;++t) 14 | if(a[i][j]==a[i][s]+a[t][j]){ 15 | get=1; break; 16 | } 17 | if(get) break; 18 | } 19 | if(!get){ 20 | cout<<"No"; return 0; 21 | } 22 | } 23 | cout<<"Yes"; return 0; 24 | } 25 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#006/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,m,b,md,a[510],dp[510][510]; 5 | 6 | int main() { 7 | scanf("%d%d%d%d",&n,&m,&b,&md); 8 | for(int i=1;i<=n;i++) { 9 | scanf("%d",&a[i]); 10 | } 11 | memset(dp,0,sizeof dp); 12 | for(int i=0;i<=b;i++) dp[0][i]=1; 13 | for(int i=1;i<=n;i++) { 14 | for(int j=1;j<=m;j++) { 15 | for(int k=a[i];k<=b;k++) { 16 | dp[j][k]=(dp[j][k]+dp[j-1][k-a[i]])%md; 17 | } 18 | } 19 | } 20 | cout< 2 | typedef long long ll; 3 | const int N=501; 4 | ll dis[N][N]; int a[N]; ll ans[N]; 5 | int main(){ 6 | int n; scanf("%d",&n); 7 | for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) scanf("%I64d",&dis[i][j]); 8 | for(int i=1;i<=n;++i) scanf("%d",&a[i]); 9 | for(int i=n;i>=1;--i){ 10 | for(int j=1;j<=n;++j) for(int k=1;k<=n;++k) 11 | if(dis[j][a[i]]+dis[a[i]][k] 2 | #define use_fastio ios::sync_with_stdio(false);cin.tie(0); 3 | using namespace std; 4 | string s; 5 | int k; 6 | int ma=0; 7 | int num[30]; 8 | int ans=0; 9 | int main() { 10 | use_fastio 11 | cin>>s; 12 | cin>>k; 13 | for(int i=1;i<=26;i++) { 14 | cin>>num[i]; 15 | ma=max(ma,num[i]); 16 | } 17 | for(int i=0;i 2 | #include 3 | using namespace std; 4 | const int MAXK=2000; 5 | int n,k,y,h,a[310][310]; 6 | double s[310]; 7 | int main(){ 8 | cin >>n>>k; 9 | for (int i=1;i<=n;++i) 10 | for (int j=1;j<=k+1;++j) cin >>a[i][j]; 11 | for (int p=1;p<=k;++p) 12 | for (int j=0;j<=MAXK;++j) 13 | for (int i=1,ym=0;i<=n;++i){ 14 | y=a[i][p]*j+a[i][p+1]*(MAXK-j); 15 | h=max(0,y-ym);ym=max(ym,y); 16 | s[i]+=h*(j&&j 2 | #include 3 | #include 4 | #include 5 | using namespace std ; 6 | int cnt[20]; 7 | string b[]={"1869","6198","1896","9186","9168","6189","8691"}; 8 | string s; 9 | int main() 10 | { 11 | int i; 12 | cin>>s; int ls=s.size(); 13 | for (i=0;i 2 | #define mod 1000000007 3 | #define int long long 4 | using namespace std; 5 | int n,m,dp[3000][3000]; 6 | 7 | main() 8 | { 9 | cin>>n>>m; 10 | for(int i=1;i<=m;i++) dp[1][i]=1; 11 | for(int i=2;i<=n;i++) 12 | { 13 | int s=0;dp[i][1]=1; 14 | for(int j=2;j<=m;j++) 15 | { 16 | s+=dp[i-1][j]%mod,s%=mod; 17 | dp[i][j]=(dp[i][j-1]+s)%mod; 18 | } 19 | } 20 | int ans=0; 21 | for(int i=1;i<=n;i++) 22 | for(int j=2;j<=m;j++) 23 | ans=(ans+((dp[i][j]-dp[i-1][j]+mod)%mod*(dp[n-i+1][j])%mod*(m-j+1))%mod)%mod; 24 | cout< 2 | #include 3 | #include 4 | #define xxx 5200000 5 | using namespace std; 6 | struct node{ 7 | int v,p; 8 | }a[xxx]; 9 | int n,b[xxx],low=0; 10 | bool cmp(node x,node y) 11 | { 12 | return x.vlow) 26 | low=a[i].v; 27 | else 28 | low++; 29 | b[a[i].p]=low; 30 | } 31 | for (int i=1;i<=n;i++) 32 | printf("%d ",b[i]); 33 | } 34 | -------------------------------------------------------------------------------- /230575/contest11/C.pas: -------------------------------------------------------------------------------- 1 | var i,n,x,ans,top,sum:longint; 2 | s:string; 3 | a:array[0..300001]of longint; 4 | begin 5 | readln(n); 6 | sum:=0; 7 | for i:=1 to 2*n do 8 | begin 9 | readln(s); 10 | if s='remove' then 11 | begin 12 | inc(sum); 13 | if top=0 then continue 14 | else if a[top]=sum then dec(top) 15 | else 16 | begin 17 | inc(ans); 18 | top:=0; 19 | end; 20 | end 21 | else 22 | begin 23 | delete(s,1,4); 24 | val(s,x); 25 | inc(top); 26 | a[top]:=x; 27 | end; 28 | end; 29 | writeln(ans); 30 | end. 31 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-009/B -Greg and Graph.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define int long long 3 | using namespace std; 4 | int d[510][510],l[510],ans[510]; 5 | main(){ 6 | int n;cin >>n; 7 | for (int i=1;i<=n;++i) 8 | for (int j=1;j<=n;++j) cin >>d[i][j]; 9 | for (int i=1;i<=n;++i) cin >>l[i]; 10 | for (int k=n;k>=1;--k){ 11 | for (int i=1;i<=n;++i) 12 | for (int j=1;j<=n;++j) 13 | d[l[i]][l[j]]=min(d[l[i]][l[j]],d[l[i]][l[k]]+d[l[k]][l[j]]); 14 | for (int i=k;i<=n;++i) 15 | for (int j=k;j<=n;++j) 16 | ans[k]+=d[l[i]][l[j]]; 17 | } 18 | for (int i=1;i<=n;++i) cout < 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | using namespace std; 9 | int a[400000]; 10 | char s[400000]; 11 | int n; 12 | int sta[400000],top=0; 13 | 14 | int main() 15 | { 16 | 17 | cin>>n; 18 | cin>>s; 19 | for(int i=0;i 2 | using namespace std; 3 | int n; 4 | int a[100][100]; 5 | 6 | int solve() 7 | { 8 | for(int i=1;i<=n;i++) 9 | for(int j=1;j<=n;j++) 10 | if(a[i][j]!=1) 11 | { 12 | int ok=0; 13 | for(int k1=1;k1<=n;k1++) 14 | for(int k2=1;k2<=n;k2++) 15 | // if(k1!=i&&k2!=j) 16 | if(a[i][j]==a[i][k1]+a[k2][j]) 17 | ok=1; 18 | if(!ok) {return 0;} 19 | } 20 | return 1; 21 | } 22 | 23 | int main() 24 | { 25 | cin>>n; 26 | for(int i=1;i<=n;i++) 27 | for(int j=1;j<=n;j++) 28 | cin>>a[i][j]; 29 | cout<<(solve()?"Yes\n":"No\n"); 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /fengxiao/lib/contest8/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define N 300010 5 | using namespace std; 6 | struct P 7 | { 8 | int v,pos,ans; 9 | }a[N]; 10 | int n; 11 | bool cmp(P a,P b) {return a.v 2 | #include 3 | #define P 1000000007 4 | #define N 2010 5 | #define ll long long 6 | using namespace std; 7 | ll ans,n,m,f[N][N]; 8 | int main() 9 | { 10 | int i,j; 11 | scanf("%I64d %I64d",&n,&m); 12 | for(i=1;i<=m;i++)f[1][i]=1; 13 | for(i=2;i<=n;i++) 14 | { 15 | int s=0; f[i][1]=1; 16 | for(int j=2;j<=m;j++) 17 | { 18 | s=(s+f[i-1][j])%P; 19 | f[i][j]=(f[i][j-1]+s)%P; 20 | } 21 | } 22 | for(i=1;i<=n;i++) 23 | for(j=2;j<=m;j++) 24 | ans=(ans+(m-j+1)*(f[i][j]-f[i-1][j]+P)%P*f[n-i+1][j])%P; 25 | printf("%I64d",ans); 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /wzz/contest10/C.cpp: -------------------------------------------------------------------------------- 1 | using namespace std; 2 | #include 3 | #include 4 | #include 5 | #define N 100001 6 | #define r(x) scanf("%d",&x) 7 | int n,k; 8 | int a[N]; 9 | int ans; 10 | int x; 11 | int y; 12 | int main() 13 | { 14 | r(n);r(k); 15 | a[0]=-5; 16 | for(int i=1;i<=k;i++) 17 | { 18 | r(x); 19 | bool flag=0; 20 | for(int j=1;j<=x;j++) 21 | { 22 | r(a[j]); 23 | if(j==1&&a[j]!=1)flag=1; 24 | if(j==1)continue; 25 | if(a[j]==a[j-1]+1) 26 | { 27 | if(!flag) ans-=2; 28 | } 29 | else flag=1; 30 | } 31 | } 32 | ans-=k; 33 | ans+=n*2-1; 34 | cout<1 then 12 | begin 13 | ok:=false; 14 | for k:=1 to n do 15 | begin 16 | for kk:=1 to n do 17 | if map[i,k]+map[kk,j]=map[i,j] then begin ok:=true; break; end; 18 | if ok then break; 19 | end; 20 | if not ok then begin writeln('No'); halt; end; 21 | end; 22 | writeln('Yes'); 23 | end. 24 | -------------------------------------------------------------------------------- /jiangxunchi/contest10/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | const int N=100001; 5 | queue a; 6 | int main(){ 7 | int n,k,out=0,step=0; scanf("%d%d",&n,&k); 8 | for(int i=1;i<=k;++i){ 9 | int cnt; scanf("%d",&cnt); 10 | for(;!a.empty();) a.pop(); 11 | for(int j=1;j<=cnt;++j){ 12 | int x; scanf("%d",&x); 13 | a.push(x); 14 | } 15 | if(a.front()==1){ 16 | int nowcnt=0; 17 | for(;!a.empty()&&a.front()==nowcnt+1;a.pop()) nowcnt=a.front(); 18 | out+=a.size()+1; step+=a.size(); 19 | }else out+=a.size(),step+=a.size()-1; 20 | } 21 | printf("%d",out+step-1); return 0; 22 | } 23 | -------------------------------------------------------------------------------- /Anoxx/Contest8/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int n,a[1000],p; 7 | char ans[1000000]; 8 | int main(){ 9 | scanf("%d",&n); 10 | for(int i=1;i<=n;i++){ 11 | scanf("%d",&a[i]); 12 | p+=a[i]==0; 13 | } 14 | int i=1,l=1,k=0; 15 | while(p 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | map > mp;map >::iterator dis; 7 | int main(){ 8 | int n,Q,x,y;char ch;cin >>n>>Q; 9 | mp[0]={'U',0};mp[n+1]={'L',0}; 10 | for (int i=1;i<=Q;++i){ 11 | scanf("%d %d %c",&x,&y,&ch); 12 | dis=mp.lower_bound(x); 13 | if (dis->first==x){puts("0");continue;} 14 | if (ch=='L') --dis; 15 | int aa=abs(dis->first-x); 16 | if (dis->second.first==ch) aa+=dis->second.second; 17 | cout < 2 | #include 3 | #include 4 | #define int long long 5 | using namespace std; 6 | int n,m; 7 | int pow(int a,int P) {return (a%P)*(a%P)%P;} 8 | int qpow(int a,int b,int P) 9 | { 10 | if(b==1) return a; 11 | if(b&1) return pow(qpow(a,b/2,P),P)*(a%P)%P; 12 | else return pow(qpow(a,b/2,P),P)%P; 13 | } 14 | main() 15 | { 16 | cin>>n>>m; 17 | if(m==0) {puts("1 1"); return 0;} 18 | if(n==0) {puts("0 0"); return 0;} 19 | int ans1=qpow(n,m,19941023); 20 | int ans2=qpow(n,m,19950814); 21 | cout< 2 | using namespace std; 3 | int a[55][55]; 4 | int main(){ 5 | int n; 6 | scanf("%d",&n); 7 | for(int i=1;i<=n;i++){ 8 | for(int j=1;j<=n;j++){ 9 | scanf("%d",&a[i][j]); 10 | } 11 | } 12 | for(int i=1;i<=n;i++){ 13 | for(int j=1;j<=n;j++){ 14 | if(a[i][j]!=1){ 15 | int k=0; 16 | for(int ii=1;ii<=n;ii++){ 17 | for(int jj=1;jj<=n;jj++){ 18 | if(ii!=i&&jj!=j){ 19 | if(a[i][jj]+a[ii][j]==a[i][j])k=1; 20 | } 21 | } 22 | } 23 | if(k==0){ 24 | puts("No"); 25 | return 0; 26 | } 27 | } 28 | } 29 | } 30 | puts("Yes"); 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /fengxiao/lib/contest13/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define N 5010 5 | using namespace std; 6 | int f[N][N],n,m,ans=0; 7 | int a[N][N],b[N][N]; 8 | char map[N][N]; 9 | int main() 10 | { 11 | int i,j; 12 | scanf("%d %d",&n,&m); 13 | for(i=1;i<=n;i++) scanf("%s",map[i]+1); 14 | for(i=1;i<=n;i++) 15 | for(j=1;j<=m;j++) 16 | if(map[i][j]=='1') 17 | { 18 | a[i][j]=a[i][j-1]+1; 19 | b[j][a[i][j]]++; 20 | } 21 | for(j=1;j<=m;j++) 22 | { 23 | int c=0; 24 | for(i=m;i>=1;i--) 25 | { 26 | c+=b[j][i]; 27 | ans=max(ans,c*i); 28 | } 29 | } 30 | printf("%d",ans); 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /zhang2333/C10/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define xxx 1010 4 | using namespace std; 5 | int n,a[xxx]; 6 | 7 | bool pd() 8 | { 9 | for (int i=1;i<=n;i++) 10 | if (a[i]!=i-1) 11 | return 0; 12 | return 1; 13 | } 14 | 15 | int cg(int x) 16 | { 17 | if (x%2) return 1; 18 | return n-1; 19 | } 20 | 21 | int main() 22 | { 23 | scanf("%d",&n); 24 | for (int i=1;i<=n;i++) 25 | scanf("%d",&a[i]); 26 | int step=0; 27 | while (step<2000) 28 | { 29 | if (pd()) 30 | { 31 | printf("Yes"); 32 | return 0; 33 | } 34 | for (int i=1;i<=n;i++) 35 | a[i]=(a[i]+cg(i))%n; 36 | step++; 37 | } 38 | printf("No"); 39 | } 40 | -------------------------------------------------------------------------------- /Anoxx/Contest9/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | long long a[100100],l[100100],p,t[100100]; 5 | int n,m,k,x,y; 6 | struct node{ 7 | int l,r,d; 8 | }c[100100]; 9 | int main(){ 10 | scanf("%d%d%d",&n,&m,&k); 11 | for(int i=0;i 2 | #include 3 | #define ll long long 4 | #define N 50010 5 | using namespace std; 6 | ll a[N],n,K,sum[N],cnt[1000010],ans; 7 | int main() 8 | { 9 | ll T; 10 | scanf("%I64d",&T); 11 | while(T--) 12 | { 13 | scanf("%I64d %I64d",&K,&n); ans=0; memset(cnt,0,sizeof(cnt)); 14 | cnt[0]=1; 15 | for(int i=1;i<=n;i++) 16 | { 17 | scanf("%d",&a[i]); 18 | sum[i]=(sum[i-1]+a[i])%K; 19 | ans+=cnt[sum[i]]; 20 | cnt[sum[i]]++; 21 | } 22 | printf("%d\n",ans); 23 | } 24 | 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /tttnns/gongfuzuqiu.rst: -------------------------------------------------------------------------------- 1 | ==== 2 | 少林足球 3 | ==== 4 | 5 | 最近观摩了周星驰的"少林足球", 感触良多, 以此为记 6 | 7 | 影片讲述了当年的"黄金右脚"明锋带领阿星等组成的少林足球队从无到有, 夺得冠军的故事 8 | 9 | 我们发现, 当年"黄金右脚"今成瘸子, 少林练武出来的师兄弟们渐渐为生活所迫, 沦为世俗 10 | 11 | 在这样的情况下, 要成为金牌足球队, 要经历怎样的挫折, 怎样的努力? 12 | 13 | 在OI中也一样, 不是人人一上来都能拿NOI金牌(xtx除外) 14 | 15 | 那这么办? 在山峰的低端, 只有努力攀爬, 才能到达顶端 16 | 17 | 我深深地记得, 影片中的一句台词: "没有梦想, 和咸鱼有什么区别" 18 | 19 | 这是阿星说的话 20 | 21 | 阿星生活在社会的底端, 连足球鞋都买不起, 但他有一个梦想, 把少林武功发扬光大 22 | 23 | 这个梦想激励着他, 向着足球冠军进发 24 | 25 | 那么, 怎样努力才有效呢? 26 | 27 | 明锋说过: "比赛就是打仗" 28 | 29 | 这非常有道理 30 | 31 | 在OI中, 非常重要的是日常的训练模拟赛 32 | 33 | 如果轻易地浪费, 是非常没有意义的 34 | 35 | 所以应该认真对待, 以对待打仗的方式对待模拟赛, 联赛, 省赛, 国赛 36 | 37 | 这样一步一步, 才能拿Au牌 38 | -------------------------------------------------------------------------------- /fengxiao/lib/CC/contest_JULY17/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define N 1000010 5 | using namespace std; 6 | int ls; 7 | char s[N+100]; 8 | int main() 9 | { 10 | int T; 11 | cin>>T; 12 | while(T--) 13 | { 14 | cin>>s; ls=strlen(s); 15 | int i=0,cnt=0,top=1,b=1; 16 | while(i') top=max(top,cnt+1),b=1; 25 | } 26 | cout<>><<<><<><><>>===>><<<>>*/ 32 | -------------------------------------------------------------------------------- /hexu/contest10/B.PAS: -------------------------------------------------------------------------------- 1 | var 2 | n,i,j:longint; 3 | ok:boolean; 4 | a,b:array[0..1005]of longint; 5 | begin 6 | readln(n); 7 | for i:=1 to n do read(a[i]); 8 | for i:=1 to n do b[i]:=i-1; 9 | for i:=1 to n+1 do 10 | begin 11 | ok:=true; 12 | for j:=1 to n do 13 | if j and 1=1 then 14 | begin inc(a[j]); if a[j]=-1 then a[j]:=n-1; if a[j]=n then a[j]:=0; end 15 | else 16 | begin dec(a[j]); if a[j]=-1 then a[j]:=n-1; if a[j]=n then a[j]:=0; end; 17 | for j:=1 to n do 18 | if b[j]<>a[j] then begin ok:=false; break; end; 19 | if ok then begin writeln('Yes'); halt; end; 20 | end; 21 | writeln('No'); 22 | 23 | end. 24 | -------------------------------------------------------------------------------- /zhang2333/C11/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | 5 | int a[60][60],n; 6 | 7 | bool ok(int x,int y) 8 | { 9 | if (a[x][y]==1) return 1; 10 | for (int i=1;i<=n;i++) 11 | for (int j=1;j<=n;j++) 12 | if (i!=x&&j!=y) 13 | if (a[i][y]+a[x][j]==a[x][y]) 14 | return 1; 15 | return 0; 16 | } 17 | 18 | int main() 19 | { 20 | scanf("%d",&n); 21 | for (int i=1;i<=n;i++) 22 | for (int j=1;j<=n;j++) 23 | scanf("%d",&a[i][j]); 24 | for (int i=1;i<=n;i++) 25 | for (int j=1;j<=n;j++) 26 | if (!ok(i,j)) 27 | { 28 | printf("No\n"); 29 | return 0; 30 | } 31 | printf("Yes\n"); 32 | return 0; 33 | } 34 | -------------------------------------------------------------------------------- /Anoxx/Contest9/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int n,b[501],x[501]; 5 | long long ans[501],a[501][501],f[501][501]; 6 | int main(){ 7 | scanf("%d",&n); 8 | for(int i=1;i<=n;i++) 9 | for(int j=1;j<=n;j++){ 10 | scanf("%lld",&a[i][j]);f[i][j]=a[i][j]; 11 | } 12 | for(int i=1;i<=n;i++)scanf("%d",&x[i]); 13 | for(int i=n;i>=1;i--){ 14 | b[x[i]]=1; 15 | for(int j=1;j<=n;j++) 16 | for(int k=1;k<=n;k++)f[j][k]=min(f[j][k],f[j][x[i]]+f[x[i]][k]); 17 | for(int j=1;j<=n;j++) 18 | for(int k=1;k<=n;k++)if(b[j]&&b[k])ans[i]+=f[j][k]; 19 | 20 | } 21 | for(int i=1;i<=n;i++)printf("%lld ",ans[i]); 22 | return 0; 23 | } 24 | -------------------------------------------------------------------------------- /fengxiao/lib/contest10/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 100010 4 | using namespace std; 5 | int n,k,ans=0; 6 | int nxt[N]; 7 | int main() 8 | { 9 | int i,j,tmp,a,b; 10 | scanf("%d %d",&n,&k); 11 | for(i=1;i<=k;i++) 12 | { 13 | scanf("%d",&tmp); scanf("%d",&a); 14 | for(j=2;j<=tmp;j++) 15 | { 16 | scanf("%d",&b); 17 | nxt[a]=b; 18 | a=b; 19 | } 20 | } 21 | //for(i=1;i<=n;i++) printf("%d ",nxt[i]); 22 | i=1; while(nxt[i]==i+1) i++; 23 | for(i=i;i 2 | #define N 100010 3 | #define int long long 4 | using namespace std; 5 | int a[N],n,p; 6 | inline int dist(int a,int b) {return (b+n-a)%n;} 7 | main() 8 | { 9 | int i,j; 10 | scanf("%I64d %I64d",&n,&p); p--; 11 | for(i=0;ia[i]) {minn=a[i]; pos=i;} if(minn>a[(p+1)%n]) pos=(p+1)%n; 14 | int tmp=dist(pos,p)+a[pos]*n,t=a[pos]; 15 | if(pos!=p) for(j=(pos+1)%n;j!=p;j=(j+1)%n) a[j]--; a[p]--; 16 | for(j=0;j 2 | #include 3 | #define N 510 4 | #define P 700010 5 | using namespace std; 6 | int n,k; 7 | int a[N]; 8 | double ans=0.0,b[P]; 9 | double calc(int x,int y,double p) {return (y-x)*p+x;} 10 | int main() 11 | { 12 | int i,j; 13 | scanf("%d %d",&n,&k); 14 | int m=P/k; 15 | for(i=1;i<=n;i++) 16 | { 17 | ans=0.0; 18 | for(j=0;j<=k;j++) scanf("%d",&a[j]); 19 | for(j=0;jb[j*m+pos]) ans+=s-b[j*m+pos],b[j*m+pos]=s; 24 | } 25 | printf("%.10lf\n",ans/m); 26 | } 27 | 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /Anoxx/Contest10/E.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | map >mp; 7 | map >::iterator it; 8 | char c; 9 | int n,Q,x,y,ans; 10 | int main(){ 11 | scanf("%d%d",&n,&Q); 12 | mp[0]=make_pair('L',0); 13 | mp[n+1]=make_pair('U',0); 14 | for(int i=1;i<=Q;i++){ 15 | scanf("%d%d %c",&x,&y,&c); 16 | it=mp.lower_bound(x); 17 | ans=0; 18 | if(it->first!=x){ 19 | if(c=='L')it--; 20 | if(it->second.first==c)ans=it->second.second+abs(it->first-x);else ans=abs(it->first-x); 21 | } 22 | if(ans)mp[x]=make_pair(c,ans); 23 | printf("%d\n",ans); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /hexu/Conetests9/A.PAS: -------------------------------------------------------------------------------- 1 | var 2 | n,m,k,i,j,x,y:longint; 3 | a,b,l,r,d,num,q,vis:array[0..100005]of int64; 4 | begin 5 | readln(n,m,k); 6 | fillchar(vis,sizeof(vis),0); 7 | fillchar(num,sizeof(num),0); 8 | fillchar(q,sizeof(q),0); 9 | for i:=1 to n do read(num[i]); 10 | for i:=1 to m do begin readln(L[i],r[i],d[i]); inc(r[i]); end; 11 | for i:=1 to k do 12 | begin readln(x,y); inc(vis[x]); dec(vis[y+1]); end; 13 | for i:=1 to m do vis[i]:=vis[i]+vis[i-1]; 14 | for i:=1 to m do inc(q[l[i]],vis[i]*d[i]); 15 | for i:=1 to m do dec(q[r[i]],vis[i]*d[i]); 16 | for i:=1 to n do q[i]:=q[i-1]+q[i]; 17 | for i:=1 to n do write(q[i]+num[i],' ');writeln; 18 | end. 19 | -------------------------------------------------------------------------------- /hexu/contest8/E.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | #define M 700000 5 | 6 | int n, k, i, j, m, p, a[510]; 7 | double b[710000]; 8 | 9 | double calc(int x, int y, double a) { 10 | return (y - x) * a + x; 11 | } 12 | 13 | int main() { 14 | scanf("%d%d", &n, &k); 15 | m = M / k; 16 | for (i = 1; i <= n; i++) { 17 | double ans = 0; 18 | for (j = 0; j <= k; j++) scanf("%d", &a[j]); 19 | for (j = 0; j < k; j++) { 20 | for (p = 0; p < m; p++) { 21 | double s = calc(a[j], a[j + 1], 1.0 / m * (p + 0.5)); 22 | if (s > b[j * m + p]) ans += s - b[j * m + p], b[j * m + p] = s; 23 | } 24 | } 25 | printf("%.10lf\n", ans / m); 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Anoxx/Contest8/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | int n,p; 6 | setst; 7 | struct node{ 8 | int x,pos; 9 | }a[500000]; 10 | bool cmp(node a,node b){ 11 | return a.x * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | > * X : tan90 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest0|Y|Y|Y|A|A|X|X 11 | |contest1|Y|Y|Y|A|A|X|X 12 | |contest2|A|Y|A|Y|A|X|X 13 | |contest3|A|Y|A|A|Y|X|X 14 | |contest4|Y|Y|Y|A|A|X|X 15 | |contest5|Y|Y|Y|Y|A|X|X 16 | |contest6|Y|Y|Y|A|A|A|X 17 | |contest7|Y|A|A|A|A|X|X 18 | |contest8|Y|Y|Y|A|A|A|A 19 | |contest9|Y|Y|A|A|A|X|X 20 | |contest10|Y|Y|Y|A|A|X|X 21 | |contest11|Y|Y|Y|A|A|X|X 22 | |contest12|Y|A|Y|Y|A|A|A 23 | |contest13|Y|Y|Y|Y|A|A|A 24 | |contest14|Y|Y|Y|A|A|X|X 25 | |contest15|Y|Y|A|A|A|X|X 26 | -------------------------------------------------------------------------------- /zhang2333/readme.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | > * X : tan90 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest0|Y|Y|Y|A|A|X|X 11 | |contest1|Y|Y|Y|A|A|X|X 12 | |contest2|A|Y|Y|Y|A|X|X 13 | |contest3|A|Y|A|Y|Y|X|X 14 | |contest4|Y|Y|Y|A|A|X|X 15 | |contest5|Y|Y|Y|A|A|X|X 16 | |contest6|Y|Y|Y|A|A|A|X 17 | |contest7|Y|A|A|A|A|X|X 18 | |contest8|Y|Y|Y|Y|A|A|A 19 | |contest9|Y|Y|Y|A|A|X|X 20 | |contest10|Y|Y|Y|A|A|X|X 21 | |contest11|Y|Y|Y|A|A|X|X 22 | |contest12|Y|A|A|Y|A|A|A 23 | |contest13|Y|Y|Y|Y|Y|A|A 24 | |contest14|Y|Y|Y|A|A|X|X 25 | |contest15|Y|Y|Y|A|A|X|X 26 | -------------------------------------------------------------------------------- /fengxiao/lib/contest11/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 300010 4 | using namespace std; 5 | int n,cnt=1,ans=0; 6 | bool used[N]; 7 | stack sta; 8 | int main() 9 | { 10 | int i; char ch[20];int tmp; 11 | scanf("%d",&n); 12 | n<<=1; 13 | while(n--) 14 | { 15 | scanf("%s",ch); 16 | if(ch[0]=='a') 17 | { 18 | scanf("%d",&tmp); 19 | sta.push(tmp); 20 | } 21 | else 22 | { 23 | if(!sta.size()) 24 | { if(used[cnt]) cnt++; continue;} 25 | if(sta.top()==cnt) {used[sta.top()]=1; sta.pop(); cnt++;} 26 | else {ans++; while(!sta.empty()) {used[sta.top()]=1; sta.pop();} if(used[cnt]) cnt++;} 27 | } 28 | } 29 | printf("%d",ans); 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /fengxiao/lib/contest18/A.cpp: -------------------------------------------------------------------------------- 1 | #include//luan gao 2 | #include 3 | #include 4 | using namespace std; 5 | int a,b,r; 6 | int main() 7 | { 8 | scanf("%d %d %d",&a,&b,&r); 9 | a/=2*r; b/=2*r; 10 | int ans=a*b; 11 | if(ans&1) {puts("First"); return 0;} 12 | ans=max(0,(a-1))*b; 13 | if(ans&1) {puts("First"); return 0;} 14 | ans=a*max(0,(b-1)); 15 | if(ans&1) {puts("First"); return 0;} 16 | ans=max(0,(a-1))*max(0,(b-1)); 17 | if(ans&1) {puts("First"); return 0;} 18 | puts("Second"); 19 | return 0; 20 | } 21 | int main() 22 | { 23 | scanf("%d %d %d",&a,&b,&r); 24 | a/=2*r;b/=2*r; 25 | if(a!=0 || b!=0) puts("First"); else puts("Second"); 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /langsike/contest8/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | using namespace std; 7 | struct data{ 8 | int x,num,ans; 9 | }a[300001]; 10 | int n; 11 | bool cmp1(data p,data q) { 12 | return p.x1 then 15 | begin 16 | bo:=false; 17 | for k:=1 to n do 18 | begin 19 | for l:=1 to n do 20 | if a[i,k]+a[l,j]=a[i,j] then 21 | begin 22 | bo:=true; 23 | break; 24 | end; 25 | if bo then break; 26 | end; 27 | if not bo then 28 | begin 29 | writeln('No'); 30 | halt; 31 | end; 32 | end; 33 | writeln('Yes'); 34 | end. 35 | -------------------------------------------------------------------------------- /fengxiao/lib/contest9/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define N 100010 5 | #define ll long long 6 | using namespace std; 7 | ll ope[N]; 8 | ll a[N],ans[N]; 9 | ll l[N],r[N],v[N]; 10 | int n,m,k; 11 | int main() 12 | { 13 | int i,x,y; 14 | cin>>n>>m>>k; 15 | for(i=1;i<=n;i++) cin>>a[i]; 16 | for(i=1;i<=m;i++) cin>>l[i]>>r[i]>>v[i]; 17 | for(i=1;i<=k;i++) 18 | { 19 | cin>>x>>y; 20 | ope[x]++;ope[y+1]--; 21 | } 22 | for(i=1;i<=m;i++) 23 | { 24 | ope[i]+=ope[i-1]; 25 | ans[l[i]]+=ope[i]*v[i],ans[r[i]+1]-=ope[i]*v[i]; 26 | } 27 | ll sum=0; 28 | for(i=1;i<=n;i++) 29 | { 30 | ans[i]+=ans[i-1]; 31 | cout< 3 | #define P pair 4 | #define dmap map > 5 | using namespace std; 6 | dmap ma; 7 | dmap ::iterator it; 8 | int ans=0,n,m,x,y; 9 | string s; 10 | 11 | 12 | int main() 13 | { 14 | ios::sync_with_stdio(false); 15 | cin>>n>>m; 16 | ma[0]=P('U',0); 17 | ma[n+1]=P('L',0); 18 | while(m--) 19 | { 20 | cin>>x>>y>>s; 21 | ans=0; 22 | it=ma.lower_bound(x); 23 | if(it->first==x){cout<<"0\n";continue;} 24 | if(s[0]=='L')it--; 25 | ans=abs((it->first)-x); 26 | if(it->second.first==s[0]) 27 | ans+=it->second.second; 28 | cout< 3 | #define int long long 4 | using namespace std; 5 | priority_queue,greater > q; 6 | stack s; 7 | int n,ans=0,ok=0,now=0; 8 | char str[200]; 9 | 10 | main() 11 | { 12 | cin>>n; 13 | n=n*2; 14 | while(n--) 15 | { 16 | cin>>str; 17 | if(str[0]=='a') 18 | { 19 | int t1; 20 | cin>>t1; 21 | s.push(t1); 22 | } 23 | else 24 | { 25 | now++; 26 | if(s.empty()) 27 | q.pop(); 28 | else if(s.top()==now) 29 | s.pop(); 30 | else 31 | { 32 | ans++; 33 | while(!s.empty()) 34 | {q.push(s.top());s.pop();} 35 | q.pop(); 36 | } 37 | } 38 | } 39 | cout< 2 | using namespace std; 3 | struct Node{ 4 | int x,idx; 5 | }a[1000000]; 6 | bool operator<(Node A,Node B){ 7 | return A.x=a[i-1].x&&a[j].x<=a[j-1].x){ 23 | a[j].x=a[i-1].x+j-i+1; 24 | j++; 25 | } 26 | } 27 | } 28 | for(int i=1;i<=n;i++)rank[a[i].idx]=a[i].x; 29 | for(int i=1;i<=n;i++)printf("%d ",rank[i]); 30 | return 0; 31 | } 32 | /** 33 | 一开始打萎了 34 | **/ 35 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#010/B-Case_of_Fake_Numbers.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,a[1010]; 5 | bool f=1; 6 | 7 | int main() { 8 | scanf("%d",&n); 9 | for(int i=1;i<=n;i++) { 10 | scanf("%d",&a[i]); 11 | if(a[i]!=i-1) f=false; 12 | } 13 | for(int i=1;i<=n;i++) { 14 | bool f=1; 15 | for(int j=1;j<=n;j++) { 16 | if(j&1) { 17 | a[j]=(a[j]+1)%n; 18 | } else { 19 | a[j]=(a[j]+n-1)%n; 20 | } 21 | if(a[j]!=j-1) f=0; 22 | } 23 | if(f) { 24 | puts("Yes"); 25 | return 0; 26 | } 27 | } 28 | puts("No"); 29 | return 0; 30 | } -------------------------------------------------------------------------------- /hexu/contest11/C.pas: -------------------------------------------------------------------------------- 1 | var 2 | n,i,j,step,top,p:longint; 3 | stack:array[0..300005]of longint; 4 | ch:char; 5 | s:string; 6 | begin 7 | readln(n); step:=0; p:=0; top:=0; 8 | for i:=1 to 2*n do 9 | begin 10 | s:=''; read(ch); s:=s+ch; read(ch); s:=s+ch; read(ch); s:=s+ch; 11 | if s='add' then begin inc(top); read(stack[top]); end 12 | else 13 | begin 14 | inc(p); 15 | // read(ch); s:=s+ch; read(ch); s:=s+ch; read(ch); s:=s+ch; 16 | if top=0 then begin readln; continue; end; 17 | if (stack[top]=p) then begin dec(top); readln; continue; end; 18 | if (stack[top]<>p) then begin inc(step); top:=0; end; 19 | end; 20 | readln; 21 | end; 22 | writeln(step); 23 | end. 24 | -------------------------------------------------------------------------------- /jhd/gongfuzuqiu.md: -------------------------------------------------------------------------------- 1 | # 功夫足球 ~~题解~~ 观后感 2 | 3 | 虽然说这是一部老片,特效..(此处略去若干字),但也是一部很经典的电影. 4 | 5 | ## About Dream 6 | 7 | "少林队"的主力们在习得武功之后,却只能在城市之中为了生活下去而忙碌着,甚至是挣扎着.也多荒废了自己心中的最初理想. 直到足球唤醒了他们心中关于少林武功的梦想... 8 | 9 | 我们的人生中,虽然会面对形形色色的人,每天都会碰到各种各样的事,也会让我们感到彷徨,但是我们要坚定自己最初的梦想,不忘初心.. 10 | 11 | ## About Never Giving Up 12 | 13 | "少林队"在之前的比赛中,都是无敌的状态. 14 | 却在决赛中遇到了开挂的对手. 15 | 最终伤~亡~惨重. 16 | 但是, 17 | 他们依然坚持参加下半场的比赛, 18 | 并最终等到了救兵, 19 | 取得了胜利. 20 | 21 | 这也告诉我们, 22 | 坚持到底就是胜利, 23 | 你不知道你离水源(胜利)有多远, 24 | 但是continue digging, 25 | 你离目标就越近. 26 | 但是放弃就一定意味着失败. 27 | 28 | **Never Give Up** 29 | 30 | 31 | ## About Competition 32 | 33 | > 比赛就是打仗. 34 | 35 | So take it seriously. 36 | 37 | 只有有了斗志,才有成功的可能. 38 | 要是主动投降,留给你的也只有羞辱. 39 | 40 | *** 41 | 42 | -------------------------------------------------------------------------------- /tttnns/contest6/C.cc: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | typedef long long ll; 4 | ll z[501][501]; 5 | ll a[500]; 6 | int main(){ 7 | ll n, m, b, mod; 8 | cin >> n >> m >> b >> mod; 9 | for(int i = 0; i < n; ++i) 10 | cin >> a[i]; 11 | z[0][0] = 1; 12 | for(int i = 0; i < n; ++i) 13 | for(int j = 1; j <= m; ++j) 14 | for(int k = 0; k <= b; ++k) 15 | if(k >= a[i]){ 16 | z[j][k] += z[j - 1][k - a[i]]; 17 | z[j][k] %= mod; 18 | } 19 | ll ans = 0; 20 | for(int i = 0; i <= b; ++i){ 21 | ans += z[m][i]; 22 | ans %= mod; 23 | } 24 | cout << ans; 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /yyq/contest10/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | const int maxn=100005; 4 | int n,k,m,temp; 5 | int doll[maxn]; 6 | int cnt; 7 | int main() 8 | { 9 | scanf("%d%d",&n,&k); 10 | cnt=0; 11 | for(int j=1;j<=k;j++) 12 | { 13 | scanf("%d",&m); 14 | for(int i=0;i 2 | using namespace std; 3 | #define int long long 4 | int n,m,k; 5 | int fa[1000000],a[1000000],h[1000000]; 6 | int ml[1000000],mr[1000000],mv[1000000]; 7 | main(){ 8 | scanf("%lld%lld%lld",&n,&m,&k); 9 | for(int i=1;i<=n;i++){ 10 | scanf("%lld",&h[i]); 11 | } 12 | for(int i=1;i<=m;i++){ 13 | scanf("%lld%lld%lld",&ml[i],&mr[i],&mv[i]); 14 | } 15 | for(int i=1;i<=k;i++){ 16 | int x,y; 17 | scanf("%lld%lld",&x,&y); 18 | a[x]+=1;a[y+1]-=1; 19 | } 20 | int u=0; 21 | for(int i=1;i<=m;i++){ 22 | u+=a[i]; 23 | fa[ml[i]]+=u*mv[i]; 24 | fa[mr[i]+1]-=u*mv[i]; 25 | } 26 | u=0; 27 | for(int i=1;i<=n;i++){ 28 | u+=fa[i]; 29 | printf("%lld ",u+h[i]); 30 | } 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /Dance_Of_Faith/contest-009/A -Greg and Array.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define int long long 5 | using namespace std; 6 | int a[200010],s[200010],d[200010],p[200010],q[200010],b[200010]; 7 | int c[200010][5]; 8 | main(){ 9 | int n,k,m,x,y;cin >>n>>m>>k; 10 | for (int i=1;i<=n;++i) cin >>a[i],p[i]=p[i-1]+a[i]; 11 | for (int i=1;i<=m;++i) 12 | cin >>c[i][1]>>c[i][2]>>c[i][3]; 13 | for (int i=1;i<=k;++i) 14 | cin >>x>>y,b[x]++,b[y+1]--; 15 | for (int i=1;i<=m;++i) q[i]=q[i-1]+b[i]; 16 | for (int i=1;i<=m;++i) 17 | d[c[i][1]]+=q[i]*c[i][3],d[c[i][2]+1]-=q[i]*c[i][3]; 18 | for (int i=1;i<=n;++i) s[i]=s[i-1]+d[i]; 19 | for (int i=1;i<=n;++i) cout < 2 | #include 3 | #include 4 | #define ll unsigned long long 5 | #define N 10000010 6 | using namespace std; 7 | int n; 8 | char tmp[N]; 9 | int num=0; 10 | char pr[N]; int sz=0; 11 | int main() 12 | { 13 | int i,j; bool flag=0; 14 | scanf("%d",&n); 15 | for(i=1;i<=n;i++) 16 | { 17 | scanf("%s",tmp); 18 | int lt=strlen(tmp); 19 | if(lt==1 && tmp[0]=='0') {puts("0"); return 0;} 20 | for(j=lt-1;j>=0;j--) 21 | if(tmp[j]=='0') 22 | num++; 23 | else break; 24 | if(tmp[j]!='1' || j!=0) {for(int k=0;k<=j;k++) pr[k]=tmp[k]; sz=j; flag=1;} 25 | } 26 | if(!flag) printf("1"); else for(i=0;i<=sz;i++) printf("%c",pr[i]); 27 | for(i=1;i<=num;i++) printf("0"); 28 | } 29 | -------------------------------------------------------------------------------- /fengxiao/lib/contest9/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 510 4 | #define int long long 5 | using namespace std; 6 | int dis[N][N]; 7 | int ord[N],ans[N]; 8 | int n; 9 | inline int min(int a,int b) {return a=1;i--) scanf("%I64d",&ord[i]); 18 | for(int k=1;k<=n;k++) 19 | { 20 | for(i=1;i<=n;i++) 21 | for(j=1;j<=n;j++) 22 | dis[i][j]=min(dis[i][j],dis[i][ord[k]]+dis[ord[k]][j]); 23 | for(i=1;i<=k;i++) 24 | for(j=1;j<=k;j++) 25 | ans[k]+=dis[ord[i]][ord[j]]; 26 | } 27 | for(i=n;i>=1;i--) printf("%I64d ",ans[i]); 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /wzz/contest9/A打标记.cpp: -------------------------------------------------------------------------------- 1 | using namespace std; 2 | #include 3 | #include 4 | #include 5 | #include 6 | #define N 100001 7 | #define ll long long 8 | #define F(i,a,b) for(int i=a;i<=b;i++) 9 | #define rep F 10 | #define r(x) cin>>x 11 | ll S[N]; 12 | ll l[N],r[N],d[N]; 13 | ll a[N]; 14 | ll v[N]; 15 | int n,m,k; 16 | int x,y; 17 | int main() 18 | { 19 | r(n);r(m);r(k); 20 | F(i,1,n)r(a[i]); 21 | F(i,1,m){r(l[i]);r(r[i]);r(d[i]);} 22 | F(i,1,k) 23 | { 24 | r(x);r(y); 25 | v[x]++;v[y+1]--; 26 | } 27 | int hh=0; 28 | F(i,1,m){hh+=v[i];d[i]*=hh;} 29 | F(i,1,m){S[l[i]]+=d[i];S[r[i]+1]-=d[i];} 30 | ll what=0; 31 | F(i,1,n) 32 | { 33 | what+=S[i]; 34 | a[i]+=what; 35 | cout< 2 | using namespace std; 3 | int n,m,tmp=0; 4 | int main() { 5 | cin>>n>>m; 6 | for(int i=1;i<=n;i++) { 7 | if(i%2==1) { 8 | for(int j=1;j<=m;j++) { 9 | cout<<"#"; 10 | } 11 | } else { 12 | tmp++; 13 | if(tmp%2==1) { 14 | for(int j=1;j Y - solved in the contest 4 | > 5 | > A- solved after the contest 6 | > 7 | > W - still solving 8 | 9 | \# | A | B | C | D | E | F | G 10 | --|--|--|--|--|--|--|-- 11 | contest0| Y| Y| A| A| W| X| X 12 | contest1| Y| Y| Y| A| A| X| X 13 | contest2| A| Y| Y| Y| A| X| X 14 | contest3| A| Y| A| A| Y| X| X 15 | contest4| Y| Y| Y| A| W| X| X 16 | contest5| Y| Y| Y| W| W| X| X 17 | contest6| Y| Y| Y| A| W| A| X 18 | contest7| Y| W| W| W| W| X| X 19 | contest8| Y| Y| Y| A| W| A| W 20 | contest9| Y| Y| A| A| W| X| X 21 | contest10| Y| Y| Y| A| A| X| X 22 | contest11| Y| Y| Y| A| A| X| X 23 | contest12| Y| A| Y| Y| W| A| W 24 | contest13| Y| Y| Y| Y| A| A| W 25 | contest14| Y| Y| Y| A| W| X| X 26 | contest15| Y| Y| A| A| A| X| X -------------------------------------------------------------------------------- /yyq/contest8/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n; 4 | struct node{ 5 | int num,give,hao; 6 | }p[300005]; 7 | bool cmp(node a,node b) 8 | { 9 | return a.nump[i-1].give) 30 | p[i].give=p[i].num; 31 | } 32 | sort(p+1,p+n+1,cmp2); 33 | for(int i=1;i<=n;i++) 34 | printf("%d ",p[i].give); 35 | return 0; 36 | } 37 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#010/A-Case_of_the_Zeros_and_Ones.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,ans,top=0; 5 | char c; 6 | int stck[200010]; 7 | 8 | int main() { 9 | scanf("%d",&n); 10 | getchar(); 11 | for(int i=1;i<=n;i++) { 12 | scanf("%c",&c); 13 | if(c=='1') { 14 | if(top>0&&stck[top]==0) { 15 | top--; 16 | } else { 17 | top++; 18 | stck[top]=1; 19 | } 20 | } else { 21 | if(top>0&&stck[top]==1) { 22 | top--; 23 | } else { 24 | top++; 25 | stck[top]=0; 26 | } 27 | } 28 | } 29 | printf("%d\n",top); 30 | return 0; 31 | } -------------------------------------------------------------------------------- /dhl/contest 10/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,k,x; 4 | vector v[800000]; 5 | int ans=0,point=-9; 6 | int main() 7 | { 8 | cin>>n>>k; 9 | for(int i=1;i<=k;i++) 10 | { 11 | cin>>x; 12 | int ok=0; 13 | int sum=0; 14 | int p=-9; 15 | for(int j=0;j>t1; 18 | v[i].push_back(t1); 19 | if(t1==1) ok=1; 20 | if(ok==1) if(j!=0&&v[i][j]-v[i][j-1]>1) ok=0; 21 | if(!ok&&j!=0) sum++; 22 | if(ok==1) p=t1; 23 | //if(ok==0&&point==-9&&j!=0) point=v[i][j-1]; 24 | } 25 | if(point==-9&&p!=-9) point=p; 26 | if(sum!=0) 27 | ans+=sum; 28 | } 29 | // cout< 2 | #include 3 | #include 4 | #define INF 1e9 5 | #define N 20010 6 | using namespace std; 7 | char tmp[N]; 8 | int a[N],b[N],c[N]; 9 | int main() 10 | { 11 | int i; 12 | scanf("%s",tmp); 13 | int la=strlen(tmp); 14 | for(i=0;i=1;i--) printf("%d",c[i]); 29 | return 0; 30 | } 31 | -------------------------------------------------------------------------------- /yyq/contest15/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | const int maxn=1000005; 4 | int a[maxn]; 5 | int solve(int n) 6 | { 7 | map maple; 8 | for(int i=0;i * Y : solved in the contest 3 | > * A : solved after contest 4 | > * W : solving 5 | > * X : tan90 6 | 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest0|Y|Y|A|A|A|X|X 11 | |contest1|Y|Y|A|A|A|X|X 12 | |contest2|A|Y|Y|Y|A|X|X 13 | |contest3|W|W|W|W|W|X|X 14 | |contest4|Y|Y|Y|W|A|X|X 15 | |contest5|Y|Y|Y|Y|A|X|X 16 | |contest6|Y|Y|Y|Y|A|Y|X 17 | |contest7|Y|Y|W|W|W|X|X 18 | |contest8|Y|Y|Y|A|A|A|W 19 | |contest9|Y|Y|Y|A|A|X|X 20 | |contest10|Y|Y|Y|A|A|X|X 21 | |contest11|Y|Y|Y|A|Y|X|X 22 | |contest12|Y|A|Y|Y|A|A|A 23 | |contest13|Y|Y|Y|Y|Y|A|A 24 | |contest14|Y|Y|Y|A|A|X|X 25 | |contest15|Y|Y|Y|A|A|X|X 26 | |contest16|Y|Y|Y|A|A|X|X 27 | |contest17|Y|Y|Y|Y|A|X|X 28 | |contest18|Y|A|A|A|Y|X|A 29 | -------------------------------------------------------------------------------- /fengxiao/lib/contest10/E.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #define F first 7 | #define S second 8 | #define pici 9 | using namespace std; 10 | int n,m,ans; 11 | map > Map; 12 | map >::iterator it; 13 | char c[20]; 14 | inline int abs(int a) {return a>0?a:-a;} 15 | int main() 16 | { 17 | int i,x,y; 18 | scanf("%d %d",&n,&m); 19 | Map[0]={'U',0}; Map[n+1]={'L',0}; 20 | while(m--) 21 | { 22 | scanf("%d%d%s",&x,&y,c); 23 | it=Map.lower_bound(x); 24 | if(it->F==x) {puts("0");continue;} 25 | if(c[0]=='L') it--; 26 | ans=abs((it->F)-x); 27 | if(it->S.F==c[0])ans+=it->S.S; 28 | printf("%d\n",ans); 29 | Map[x]={c[0],ans}; 30 | } 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /zhang2333/C11/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define xxx 520233 5 | using namespace std; 6 | 7 | int a[xxx],n,tot=0,t=1,ans=0,dead=0; 8 | char s[xxx]; 9 | 10 | bool cmp(int x,int y) 11 | { 12 | return x>y; 13 | } 14 | 15 | int main() 16 | { 17 | int x; 18 | scanf("%d",&n); 19 | for (int i=1;i<=2*n;i++) 20 | { 21 | scanf("\n"); 22 | scanf("%s",s); 23 | if (s[0]=='a') 24 | { 25 | scanf("%d",&x); 26 | a[++tot]=x; 27 | } 28 | else 29 | { 30 | if (tot>dead) 31 | { 32 | if (a[tot]!=t) 33 | { 34 | sort(a+dead+1,a+tot+1,cmp); 35 | ans++; 36 | dead=tot; 37 | } 38 | else 39 | { 40 | tot--; 41 | } 42 | } 43 | t++; 44 | } 45 | } 46 | printf("%d\n",ans); 47 | } 48 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#001/D-Fox_And_Jumping.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | map tmp; 4 | map::iterator it; 5 | int n,m,a[500],b[500]; 6 | 7 | int main() { 8 | scanf("%d",&n); 9 | for(int i=1;i<=n;i++) scanf("%d",&a[i]); 10 | for(int i=1;i<=n;i++) scanf("%d",&b[i]); 11 | for(int i=1;i<=n;i++) { 12 | for(it=tmp.begin();it!=tmp.end();it++) { 13 | int k=__gcd(it->first,a[i]); 14 | if(tmp[k]==0) tmp[k]=tmp[it->first]+b[i]; 15 | else tmp[k]=min(tmp[k],tmp[it->first]+b[i]); 16 | } 17 | if(tmp[a[i]]==0) tmp[a[i]]=b[i]; 18 | else tmp[a[i]]=min(tmp[a[i]],b[i]); 19 | } 20 | if(tmp[1]==0) cout<<-1< 2 | using namespace std; 3 | 4 | int n,f[50],ans=0; 5 | char c[200]; 6 | 7 | int main() { 8 | cin>>n>>c; 9 | memset(f,0,sizeof f); 10 | for(int i=0;i 2 | using namespace std; 3 | vector stk; 4 | int n,now,ans=0; 5 | string o; 6 | int main() { 7 | cin>>n; 8 | now=1; 9 | for(int i=1,j;i<=n*2;i++) { 10 | cin>>o; 11 | if(o=="add") { 12 | cin>>j; 13 | stk.push_back(j); 14 | } else { 15 | if(stk.empty()) { 16 | now++; 17 | } else if(stk.back()==now) { 18 | now++; 19 | stk.pop_back(); 20 | } else { 21 | //cout<<"Hello\n"; 22 | now++; 23 | ans++; 24 | stk.clear(); 25 | } 26 | } 27 | } 28 | cout< 2 | using namespace std; 3 | #define int long long 4 | int n,m,x,y,fx,fy; 5 | char ch[5]; 6 | set >Q; 7 | main(){ 8 | scanf("%I64d%I64d%I64d%I64d",&n,&m,&x,&y); 9 | scanf("%s",&ch); 10 | fy=ch[1]=='R'?1:-1; 11 | fx=ch[0]=='D'?1:-1; 12 | int T=1000000; 13 | long long ans=1,h=m+n-2; 14 | if(x==1||x==n||y==1||y==m)Q.insert(make_pair(x,y)); 15 | while(T --> 0){ 16 | int di=min(fx==1?n-x:x-1,fy==1?m-y:y-1); 17 | x+=fx*di;y+=fy*di;ans+=di; 18 | fx=x==1?1:x==n?-1:fx; 19 | fy=y==1?1:y==m?-1:fy; 20 | Q.insert(make_pair(x,y)); 21 | if(Q.size()==m+n-2)break; 22 | // cout< 三师兄:“我一秒钟几十万上下” 24 | 25 | > “做人如果冇梦想,咁同条咸鱼有咩分别呢?我心入面个团火系唔会熄嫁!” -------------------------------------------------------------------------------- /230575/contest10/B.pas: -------------------------------------------------------------------------------- 1 | var i,j,n:longint; 2 | a:array[1..1000]of longint; 3 | bo:boolean; 4 | begin 5 | readln(n); 6 | for i:=1 to n do 7 | read(a[i]); 8 | for i:=1 to n do 9 | begin 10 | bo:=false; 11 | for j:=1 to n do 12 | begin 13 | if j mod 2=1 then 14 | begin 15 | inc(a[j]); 16 | if a[j]>=n then a[j]:=a[j]-n; 17 | end; 18 | if j mod 2=0 then 19 | begin 20 | dec(a[j]); 21 | if a[j]<0 then a[j]:=a[j]+n; 22 | end; 23 | end; 24 | for j:=1 to n do 25 | if a[j]<>j-1 then 26 | begin 27 | bo:=true; 28 | break; 29 | end; 30 | if bo=false then 31 | begin 32 | writeln('Yes'); 33 | halt; 34 | end; 35 | end; 36 | writeln('No'); 37 | end. 38 | -------------------------------------------------------------------------------- /dhl/contest 10/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | using namespace std; 10 | int a[400000]; 11 | char s[400000]; 12 | int n; 13 | int sta[400000],top=0; 14 | vector v; 15 | 16 | int main() 17 | { 18 | 19 | cin>>n; 20 | for(int i=0;i>a[i]; 22 | for(int i=1;i<=n;i++) 23 | { 24 | int ok=0; 25 | v.clear(); 26 | for(int j=0;j 2 | #include 3 | #include 4 | #include 5 | #define pii pair 6 | #define F first 7 | #define S second 8 | #define mp make_pair 9 | using namespace std; 10 | int f,b,c,d,e,ls,cnt[500],ans; 11 | pii a[6]; 12 | bool cmp(int a,int b) {return a>b;} 13 | int main() 14 | { 15 | int i,j,tmp; char ch[10]; 16 | scanf("%d %d %d %d %d %d",&f,&b,&c,&d,&e,&ls); gets(ch); 17 | a[1]=mp(f,1); a[2]=mp(b,16); a[3]=mp(c,8); a[4]=mp(d,8); a[5]=mp(e,15); 18 | sort(a+1,a+6); 19 | for(i=1;i<=ls;i++) cnt[getchar()]++; 20 | sort(cnt+1,cnt+300+1,cmp); 21 | int k=1; 22 | for(i=1,k=1;i<=256&&cnt[i];i++,--a[k].S==0?++k:0) ans+=a[k].F*cnt[i]; 23 | printf("%d",ans); 24 | return 0; 25 | } 26 | -------------------------------------------------------------------------------- /tttnns/contest8/C.cc: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | using namespace std; 7 | int main(){ 8 | int n; 9 | scanf("%d", &n); 10 | vector a; 11 | a.reserve(n); 12 | while(n--){ 13 | int t; 14 | scanf("%d", &t); 15 | a.push_back(t); 16 | } 17 | vector b(a); 18 | sort(b.begin(), b.end()); 19 | unordered_map > mp; 20 | int nowvalue = 0; 21 | for(int x : b){ 22 | if(nowvalue < x) 23 | nowvalue = x; 24 | mp[x].push(nowvalue); 25 | ++nowvalue; 26 | } 27 | for(int x : a){ 28 | printf("%d ", mp[x].front()); 29 | mp[x].pop(); 30 | } 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /wzz/contest9/D.cpp: -------------------------------------------------------------------------------- 1 | using namespace std; 2 | #include 3 | #include 4 | #include 5 | #include 6 | #define ll long long 7 | #define r(x) cin>>x 8 | #define F(i,a,b) for(int i=a;i<=b;i++) 9 | #define N 2001 10 | const ll mod=1e9+7; 11 | ll f[N][N]; 12 | ll ans; 13 | ll n,m; 14 | int main() 15 | { 16 | r(n);r(m); 17 | for(int i=2;i<=m;i++) f[1][i]=1; 18 | for(int i=2;i<=n;i++) 19 | { 20 | f[i][1]=1; 21 | for(int j=2,s=0;j<=m;j++) 22 | { 23 | s+=f[i-1][j]; 24 | s=s%mod; 25 | f[i][j]=(f[i][j-1]+s)%mod; 26 | } 27 | } 28 | ans=0; 29 | for(int i=1;i<=n;i++) 30 | { 31 | for(int j=2;j<=m;j++) 32 | { 33 | ans=((ans+((m-j+1)%mod)*((f[i][j]-f[i-1][j]+mod)%mod*(f[n-i+1][j])%mod))%mod); 34 | } 35 | } 36 | cout< 2 | using namespace std; 3 | string s; 4 | int mid=-1; 5 | int lefts[1000005],rights[1000005]; 6 | long long sumleft=0,sumright=0; 7 | int main() 8 | { 9 | cin>>s; 10 | for(int i=0;i='0'&&s[i]<='9') 13 | lefts[i+1]=s[i]-'0'; 14 | if(s[i]=='^') 15 | mid=i+1; 16 | if(mid!=-1&&s[i]>='0'&&s[i]<='9') 17 | rights[i+1-mid]=s[i]-'0'; 18 | } 19 | for(int i=1;i<=s.length();i++) 20 | sumleft+=lefts[i]*(mid-i); 21 | for(int i=1;i<=s.length();i++) 22 | sumright+=rights[i]*i; 23 | // cout<sumright) 29 | puts("left"); 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /230575/contest9/B.pas: -------------------------------------------------------------------------------- 1 | var i,j,k,n,x:longint; 2 | g:array[0..501,0..501]of int64; 3 | d,ans:array[0..501]of int64; 4 | mark:array[0..501]of boolean; 5 | function min(x,y:int64):int64; 6 | begin 7 | if x 2 | using namespace std; 3 | 4 | int n,m,a[100010],b[100010],ans,sum=0; 5 | bool flag=0; 6 | 7 | int main() { 8 | scanf("%d%d",&n,&m); 9 | for(int i=1,k;i<=m;i++) { 10 | scanf("%d",&k); 11 | a[i]=0; 12 | flag=0; 13 | for(int j=1;j<=k;j++) { 14 | scanf("%d",&b[j]); 15 | if(b[j]==1) flag=1; 16 | if(j==1) { 17 | a[i]++; 18 | continue; 19 | } 20 | if(!flag||b[j]!=b[j-1]+1) { 21 | a[i]++; 22 | flag=0; 23 | } 24 | } 25 | ans+=(a[i]-1); 26 | sum+=a[i]; 27 | } 28 | ans+=(sum-1); 29 | printf("%d\n",ans); 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /fengxiao/lib/contest19/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define N 100010 3 | #define pii pair 4 | #define mp make_pair 5 | #define F first 6 | #define S second 7 | using namespace std; 8 | int n; 9 | pii a[2][N]; 10 | bool used[N]; 11 | int fat[N]; 12 | int main() 13 | { 14 | int i,j,c,v; 15 | scanf("%d",&n); 16 | for(i=1;i<=n;i++) {scanf("%d %d",&c,&v); a[c][++a[c][0].F]=mp(v,i);} 17 | sort(a[0]+1,a[0]+a[0][0].F+1); sort(a[1]+1,a[1]+a[1][0].F+1); 18 | i=j=1; 19 | for(int t=1;t 2 | using namespace std; 3 | int f[55][55],m,n; 4 | char c[55][55]; 5 | bool dfs(int x,int y,int fx,int fy){ 6 | if(f[x][y]==1)return 1; 7 | f[x][y]=1; 8 | int j=0; 9 | if(x1&&c[x-1][y]==c[x][y]&&fx!=x-1)j=j|dfs(x-1,y,x,y); 11 | if(y>1&&c[x][y-1]==c[x][y]&&fy!=y-1)j=j|dfs(x,y-1,x,y); 12 | if(y 2 | using namespace std; 3 | const int maxn=10010; 4 | int num[2][maxn]; 5 | int Count(int n) 6 | { 7 | if(n==4) 8 | return 1; 9 | if(n==7) 10 | return 2; 11 | int ans=2,cnt=2; 12 | int d=10,x=0; 13 | num[0][1]=4; 14 | num[0][2]=7; 15 | while(1) 16 | { 17 | int temp=0; 18 | for(int i=1;i<=cnt;++i) 19 | { 20 | num[(x+1)%2][++temp]=num[x%2][i]+4*d; 21 | ans++; 22 | if(num[(x+1)%2][temp]==n) 23 | return ans; 24 | } 25 | for(int i=1;i<=cnt;++i) 26 | { 27 | num[(x+1)%2][++temp]=num[x%2][i]+7*d; 28 | ans++; 29 | if(num[(x+1)%2][temp]==n) 30 | return ans; 31 | } 32 | d*=10;cnt=temp;x++; 33 | } 34 | } 35 | int main() 36 | { 37 | int n,i,j,k,l; 38 | scanf("%d",&n); 39 | printf("%d\n",Count(n)); 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /yyq/README.md: -------------------------------------------------------------------------------- 1 | ## 比赛征程 2 | > Y : solved in the contest 3 | 4 | > A : solved after contest 5 | 6 | > W : solving 7 | 8 | \# | A | B | C | D | E | F | G 9 | ---|---|---|---|---|---|---|--- 10 | |contest0|Y|Y|W|Y|W|X|X 11 | |contest1|A|A|A|A|W|X|X 12 | |contest2|A|Y|Y|Y|Y|X|X 13 | |contest3|A|Y|Y|W|Y|X|X 14 | |contest4|Y|Y|A|A|W|X|X 15 | |contest5|W|W|W|W|W|X|X 16 | |contest6|W|W|W|W|W|W|X 17 | |contest7|A|W|W|W|W|X|X 18 | |contest8|Y|Y|Y|A|W|W|W 19 | |contest9|Y|Y|A|A|W|X|X 20 | |contest10|A|A|A|A|A|X|X 21 | |contest11|Y|Y|A|W|W|X|X 22 | |contest12|Y|Y|Y|Y|A|Y|W 23 | |contest13|Y|Y|Y|Y|Y|A|W 24 | |contest14|Y|Y|Y|A|W|X|X 25 | |contest15|A|A|A|A|A|X|X 26 | |contest16|Y|Y|Y|A|W|X|X 27 | |contest17|Y|Y|Y|A|A|X|X 28 | |contest18|A|Y|A|Y|A|W|X 29 | |contest19|Y|Y|A|A|A|X|X 30 | |contest20|Y|Y|A|W|A|Y|W 31 | -------------------------------------------------------------------------------- /chuzhuyiheng/gongfuzuqiu.md: -------------------------------------------------------------------------------- 1 | 我认为看得越细,就越会感受到片中所表达的更深层次的思想。 2 | 1.好笑自然不用说,谁都知道部片子从表面的角度欣赏是一部喜剧片。 3 | 2.伤感是因为剧中人物的处境正反应了中国社会的悲哀。其中教育意义也很深刻,如:六个师兄弟练就一身本领,却都在扫厕所、刷马桶 4 | 5 | ,从侧面教育我们只有好好学习才能有所作为,如果过早荒废学业,长大以后只能在社会中扮演地位地下的角色。我比较喜欢‘星’的个 6 | 7 | 性,与世无争,随遇而安,不象2师兄和3师兄虚荣心极强,死要面子,装大款。穷不可怕,可怕的是穷的没骨气! 8 | 片中有一段情节在当今社会很有代表性,‘星’等人踢成名后,又找到阿梅,阿梅向他表达爱意后,大概对白是这样的:“那你以后还可 9 | 10 | 以找我啊,鞋子破了,我可以给你补”不用,鞋子破了就扔掉了,我们都要向前看嘛有了钱,就喜新厌旧,这是改革开放以来造就的无数 11 | 12 | 大款所具有的普遍共性。老婆孩子都不要了,整天泡小姐。影片安排‘星’穿着阿梅二次补好的破鞋才在决赛中打入制胜一球,也是从侧 13 | 14 | 面教育我们,做人不能忘本,不能喜新厌旧。金钱是虚浮的,真情才是永恒的。 15 | 其实片中能品味的片段还有很多,比如少林队热身赛时,对方的队长是个戴眼镜的白面书生,结果没等开始比赛,什么扳子、锤子都出来 16 | 17 | 了,教育我们不要以貌取人,有的人看似老实,实际阴险狡诈。 18 | 3.我现在发现这部影片的对白很经典。其中有很多人们都明白却又经常被遗忘的道理。简单举几个例子:“做人如果没梦想,那跟咸鱼有 19 | 20 | 什么分别?”“二师兄,其实命运是掌握在自己手中地!”“要对自己有信心,你是最好地”“功夫绝对是适合男女老幼地,打打杀杀只 21 | 22 | 是人们对他地误解,功夫更加是一种艺术,一种不屈的精神!” 23 | -------------------------------------------------------------------------------- /wxs/c10/solution.md: -------------------------------------------------------------------------------- 1 | 链接:https://cn.vjudge.net/contest/167920 2 | 3 | 4 | ## #A 5 | 6 | > 主要算法:  贪心 7 | 8 | ### 题意 9 | 10 | 01串01相消,问剩几个 11 | 12 | ### 题解 13 | 14 | 贪心消掉,不解释 15 | 16 | ## #B 17 | > 主要算法:  无 18 | 19 | ### 题意 20 | 21 | 齿轮有的顺转,有的逆转,问是否可以使齿轮达到0~n 22 | 23 | ### 题解 24 | 25 | 直接算是否转的齿数相同 26 | 27 | ## #C 28 | 29 | > 主要算法:又是贪心 30 | 31 | ### 题意 32 | 33 | 给一些套娃,问全部套好要几步 34 | 35 | ### 题解 36 | 37 | 除了1开始连续的其他全部拆开 38 | 39 | A~C都是水题 40 | 41 | ## #D 42 | 43 | > 主要算法:又双叒叕是贪心!!! 44 | 45 | ### 题意 46 | 47 | m座桥,n个区间要相连,每个有桥长上限和下限,问能否相连,能则询问方案 48 | 49 | ### 题解 50 | 51 | 按左端点排序,然后每次搬掉右端点最小的。 52 | 53 | 我最后15分钟想到了标算!!但是却以为是错的,打了一半没打下去…… 54 | 55 | ## #E 56 | 57 | > 主要算法:set乱搞 58 | 59 | ### 题意 60 | 61 | n\*n/2的巧克力板,每次从对角线上的点开始吃,问每次能吃几块 62 | 63 | ### 题解 64 | 65 | 每次吃只和其左边或其右边第一个点有关…… 66 | 67 | 搞个set维护一下就行了 68 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#008/C-New_Year_Ratings_Change.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | struct node { 5 | int x,y,ans; 6 | }a[300010]; 7 | 8 | int n; 9 | 10 | bool cmp1(node a,node b) { 11 | return a.xtmp) { 29 | tmp=a[i].x; 30 | } else tmp++; 31 | a[i].ans=tmp; 32 | } 33 | sort(a+1,a+1+n,cmp2); 34 | for(int i=1;i<=n;i++) { 35 | printf("%d ",a[i].ans); 36 | } 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /230575/contest13/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | using namespace std; 8 | char c[1000010]; 9 | long long ans1=0,ans2=0,mid; 10 | int a[1000010]={0},b[1000010]={0}; 11 | bool flag=0; 12 | int main() 13 | { 14 | scanf("%s",c); 15 | for (int i=0;imid&&c[i]!='=') ans2+=(i-mid)*(c[i]-'0'); 27 | } 28 | if (ans1==ans2) 29 | { 30 | printf("balance\n"); 31 | } 32 | if (ans1ans2) 37 | { 38 | printf("left\n"); 39 | } 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /230575/contest8/B.pas: -------------------------------------------------------------------------------- 1 | var i,n:longint; 2 | a:array[1..300]of longint; 3 | s:ansistring; 4 | begin 5 | readln(n); 6 | for i:=1 to n do 7 | read(a[i]); 8 | s:=' '; 9 | i:=1; 10 | while i<=n do 11 | begin 12 | if (i=1) and (a[i]<>0) and (s[length(s)]<>'P') then 13 | begin 14 | s:=s+'P'; 15 | dec(a[i]); 16 | end; 17 | if (i=1) and (a[i]<>0) and (s[length(s)]='P') then s:=s+'RL'; 18 | if (i>1) and (a[i]<>0) and (s[length(s)]<>'P') then 19 | begin 20 | s:=s+'P'; 21 | dec(a[i]); 22 | end; 23 | if (i>1) and (a[i]<>0) and (s[length(s)]='P') then s:=s+'LR'; 24 | if (a[i]=0) and (i 2 | using namespace std; 3 | int n; 4 | char a[300]; 5 | int s2[2000],s1[2000]; 6 | int ans=0,sum=0,rans=0; 7 | bool cmp(const int &a,const int &b) 8 | { 9 | return a>b; 10 | } 11 | 12 | int judge1() 13 | { 14 | sort(s1,s1+n); 15 | sort(s2,s2+n); 16 | for(int i=0;i=s2[i]) 18 | return 0; 19 | return 1; 20 | 21 | } 22 | 23 | int judge2() 24 | { 25 | sort(s1,s1+n,cmp); 26 | sort(s2,s2+n,cmp); 27 | for(int i=0;i>n; 37 | scanf("%s",a); 38 | for(int i=0;i 2 | using namespace std; 3 | int n,a[101],b[101]; 4 | char u[202]; 5 | bool flg=true; 6 | int main() 7 | { 8 | scanf("%d",&n); 9 | scanf("%s",&u); 10 | for(int i=0;ib[0]) 17 | { 18 | for(int i=0;i=b[i]) 35 | { 36 | printf("NO\n"); 37 | flg=false; 38 | break; 39 | } 40 | } 41 | if(flg) 42 | printf("YES\n"); 43 | } 44 | else 45 | printf("NO\n"); 46 | return 0; 47 | } 48 | -------------------------------------------------------------------------------- /langsike/contest8/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int n; 7 | int a[10000]; 8 | int main() { 9 | scanf("%d",&n); 10 | for (int i=1;i<=n;i++) scanf("%d",&a[i]); 11 | for (int i=1;i<=600;i++) { 12 | if (i%2) { 13 | for (int j=1;j<=n-1;j++) { 14 | if (a[j]) { 15 | putchar('P'); 16 | a[j]--; 17 | } 18 | putchar('R'); 19 | } 20 | } 21 | else { 22 | for (int j=n;j>1;j--) { 23 | if (a[j]) { 24 | putchar('P'); 25 | a[j]--; 26 | } 27 | putchar('L'); 28 | } 29 | } 30 | } 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /fengxiao/lib/contest15/E.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 100010 4 | using namespace std; 5 | int n,a[N],ans[N],ha[N]; 6 | int calc(int x) 7 | { 8 | memset(ha,0,sizeof(ha)); 9 | int cnt=0,sum=1; 10 | for(int i=1;i<=n;i++) 11 | if(ha[a[i]]!=sum) 12 | { 13 | cnt++; ha[a[i]]=sum; 14 | if(cnt>x) {sum++,cnt=1;ha[a[i]]=sum;} 15 | } 16 | return sum; 17 | } 18 | void bsearch(int l,int r) 19 | { 20 | if(l>r) return; 21 | ans[l]=calc(l); ans[r]=calc(r); 22 | if(ans[l]==ans[r]) 23 | { 24 | for(int i=l+1;i 3 | #include 4 | #include 5 | #include 6 | #include 7 | map< int,pair >M; 8 | map< int,pair > ::iterator it; 9 | int q,ans; 10 | int n; 11 | int x,y; 12 | char cyz666; 13 | int main() 14 | { 15 | cin>>n>>q; 16 | M[0]=make_pair('U',0); 17 | M[n+1]=make_pair('L',0); 18 | for(int i=1;i<=q;i++) 19 | { 20 | scanf("%d %d %c",&x,&y,&cyz666); 21 | it=M.lower_bound(x); 22 | if(it->first==x) {puts("0");continue;} 23 | if(cyz666=='L') it--; 24 | ans=0; 25 | ans=abs(x-(it->first)); 26 | if(it->second.first==cyz666) ans+=(it->second.second); 27 | if (ans==-79) cout<first<<" "<second.first<<" "<second.second< 2 | #include 3 | #include 4 | using namespace std; 5 | int a[110],b[110],ca=1,cb=1,n,m; 6 | inline void swap(int &a,int &b) {int t=a;a=b;b=t;} 7 | int gcd(int a,int b) {if(am-cb+1) 17 | { 18 | if(a[ca] * b[cb]>0) puts("Infinity"); 19 | else puts("-Infinity"); 20 | return 0; 21 | } 22 | int t=gcd(abs(a[ca]),abs(b[cb])); a[ca]/=t; b[cb]/=t; 23 | if(a[ca]*b[cb]>0) printf("%d/%d",abs(a[ca]),abs(b[cb])); 24 | else printf("-%d/%d",abs(a[ca]),abs(b[cb])); 25 | return 0; 26 | } 27 | -------------------------------------------------------------------------------- /jiangxunchi/contest11/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | const int N=10000,inf=0x3f3f3f3f; 4 | int x[N+2],y[N+2],dis[N+2],vis[N+2]; 5 | int main(){ 6 | int n,m,k; cin>>n>>m>>k; bool b=0; 7 | for(int i=1;i<=k;++i){ 8 | cin>>x[i]>>y[i]; dis[i]=inf; 9 | if(x[i]==n&&y[i]==m) b=1; 10 | } 11 | if(b){ 12 | x[++k]=n; y[k]=m; dis[k]=inf; 13 | }else{ 14 | x[++k]=n+1; y[k]=m+1; dis[k]=inf; 15 | } 16 | dis[0]=0; x[0]=1; y[0]=1; 17 | for(int i=0;i<=k;++i){ 18 | int Min=k; 19 | for(int j=0;j<=k-1;++j) if(!vis[j]&&dis[j] 2 | #define use_fastio; ios::sync_with_stdio(false);cin.tie(0); 3 | using namespace std; 4 | typedef long long ll; 5 | string s; 6 | string ans=""; 7 | int sum=0; 8 | int n; 9 | bool f=0; 10 | int main() { 11 | use_fastio; 12 | cin>>n; 13 | while(n--) { 14 | cin>>s; 15 | if(s[0]=='0') { 16 | puts("0"); 17 | return 0; 18 | } 19 | else if(s[0]!='1') { 20 | ans=ans+s; 21 | f=1; 22 | continue; 23 | } 24 | else if(s[0]=='1') { 25 | for(int i=1;i 2 | using namespace std; 3 | typedef long long ll; 4 | ll A,B,n,l,T,m,x,t; 5 | int ok(ll k) 6 | { 7 | ll la=(k-1)*B+x; 8 | if(la>(ll)T) 9 | return 0; 10 | if((la+x)*k/2<=t) 11 | return 1; 12 | return 0; 13 | } 14 | int main() 15 | { 16 | scanf("%lld%lld%lld",&A,&B,&n); 17 | for (int i=1;i<=n;i++) 18 | { 19 | scanf("%lld%lld%lld",&l,&T,&m); 20 | x=A+(l-1)*B; 21 | if(T>1; 31 | if(ok(M)) 32 | ans=M,L=M+1; 33 | else 34 | R=M-1; 35 | } 36 | printf("%lld\n",(l-1+ans)); 37 | } 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /zhang2333/C9/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define xxx 100100 4 | #define yyy 520233 5 | using namespace std; 6 | long long n,m,k,ml[xxx],mr[xxx],mv[xxx],a[xxx],b[xxx]; 7 | long long times[xxx]; 8 | 9 | int main() 10 | { 11 | scanf("%I64d%I64d%I64d",&n,&m,&k); 12 | for (int i=1;i<=n;i++) 13 | scanf("%I64d",&a[i]); 14 | for (int i=1;i<=m;i++) 15 | scanf("%I64d%I64d%I64d",&ml[i],&mr[i],&mv[i]); 16 | long long x,y; 17 | for (int i=1;i<=k;i++) 18 | { 19 | scanf("%I64d%I64d",&x,&y); 20 | times[x]++; 21 | times[y+1]--; 22 | } 23 | for (int i=1;i<=m;i++) 24 | { 25 | times[i+1]+=times[i]; 26 | mv[i]*=times[i]; 27 | } 28 | for (int i=1;i<=m;i++) 29 | { 30 | b[ml[i]]+=mv[i]; 31 | b[mr[i]+1]-=mv[i]; 32 | } 33 | for (int i=1;i<=n;i++) 34 | { 35 | b[i+1]+=b[i]; 36 | printf("%I64d ",a[i]+b[i]); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /fengxiao/lib/zhuan ti/zui xiao sheng cheng shu/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | int n,m=0; 6 | struct Edge 7 | {int s,e,v;}e[10010]; 8 | bool cmp(Edge a,Edge b) {return a.v 2 | #include 3 | #include 4 | using namespace std; 5 | int n,cnt=0,name[110]; 6 | char upper(char ch) 7 | { 8 | if(ch>='A' && ch<='Z') return ch; 9 | else return ch-'a'+'A'; 10 | } 11 | char lower(char ch) 12 | { 13 | if(ch>='a' && ch<='z') return ch; 14 | else return ch-'A'+'a'; 15 | } 16 | int main() 17 | { 18 | int i,j; char ch=0; 19 | scanf("%d\n",&n); 20 | for(i=1;i<=n;i++) 21 | { 22 | while(ch!='\n') 23 | { 24 | ch=getchar(); cnt=0; 25 | while(ch!=' ' && ch!='\n') 26 | { 27 | if(cnt==0) name[++cnt]=upper(ch); 28 | else name[++cnt]=lower(ch); 29 | ch=getchar(); 30 | } 31 | if(ch!='\n') printf("%c. ",name[1]); 32 | else break; 33 | } 34 | for(j=1;j<=cnt;j++) printf("%c",name[j]); puts(""); 35 | ch=0; 36 | } 37 | 38 | return 0; 39 | } 40 | -------------------------------------------------------------------------------- /fengxiao/lib/zhuan ti/zui xiao sheng cheng shu/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 1010 4 | #define INF 1e9 5 | using namespace std; 6 | int dis[N],map[N][N],n,ans; 7 | bool used[N]; 8 | int main() 9 | { 10 | int i,j,x,y,q; 11 | while(scanf("%d",&n)==1) 12 | { 13 | memset(used,0,sizeof(used)); ans=0; 14 | for(i=1;i<=n;i++) 15 | for(j=1;j<=n;j++) 16 | scanf("%d",&map[i][j]); 17 | scanf("%d",&q); 18 | for(i=1;i<=q;i++) {scanf("%d %d",&x,&y); map[x][y]=map[y][x]=0;} 19 | for(i=1;i<=n;i++) dis[i]=map[1][i]; 20 | for(i=1;i<=n;i++) 21 | { 22 | int minn=INF,pos=0; 23 | for(j=1;j<=n;j++) if(dis[j]map[pos][j]&&!used[j]) dis[j]=map[pos][j]; 26 | } 27 | printf("%d\n",ans); 28 | } 29 | 30 | return 0; 31 | } 32 | -------------------------------------------------------------------------------- /yyq/contest1/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define mp make_pair 3 | using namespace std; 4 | const int M=305; 5 | int n,c[M],l[M]; 6 | map dp; 7 | map::iterator it; 8 | int gcd(int a,int b) 9 | { 10 | return b==0?a:gcd(b,a%b); 11 | } 12 | int main() 13 | { 14 | scanf("%d",&n); 15 | for(int i=1;i<=n;i++) 16 | scanf("%d",&l[i]); 17 | for(int i=1;i<=n;i++) 18 | scanf("%d",&c[i]); 19 | for(int i=1;i<=n;i++) 20 | { 21 | for(it=dp.begin();it!=dp.end();it++) 22 | { 23 | int x=it->first; 24 | x=gcd(x,l[i]); 25 | if (!dp[x]) 26 | dp[x]=it->second+c[i]; 27 | else 28 | dp[x]=min(dp[x],it->second+c[i]); 29 | } 30 | int x=l[i]; 31 | if(!dp[x]) 32 | dp[x]=c[i]; 33 | else 34 | dp[x]=min(dp[x],c[i]); 35 | } 36 | if(!dp[1]) 37 | puts("-1"); 38 | else 39 | printf("%d\n",dp[1]); 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /clf/contest10/solution.md: -------------------------------------------------------------------------------- 1 | ## #A 2 | 3 | > 时间限制: 1s 4 | > 5 | > 空间限制: 256MB 6 | > 7 | > 主要算法: 模拟 8 | 9 | 10 | ## #B 11 | 12 | > 时间限制: 2s 13 | > 14 | > 空间限制: 256MB 15 | > 16 | > 主要算法: 模拟 17 | 18 | 19 | 20 | ## #C 21 | 22 | > 时间限制: 2s 23 | > 24 | > 空间限制: 256MB 25 | > 26 | > 主要算法: 模拟 27 | 28 | ### 题意 看清楚,取出和放入都要求较大的那个是单独的!!! 29 | ### 题解 30 | 31 | 32 | ## #D 33 | 34 | > 时间限制: 3s 35 | > 36 | > 空间限制: 256MB 37 | > 38 | > 主要算法: 贪心 39 | 40 | ### 题意 41 | 42 | n-1条线段m个点,寻找放法使得每条线段上都有点 43 | 44 | ### 题解 45 | 可以先把区间按右端点排序,维护一个set,表示当前还没有匹配的点,每次在点集中找最小的但是大于等于当前区间左端点的点跟这段区间匹配。 46 | 也可以用优先队列 47 | 48 | 49 | ## #E 50 | 51 | > 时间限制: 3s 52 | > 53 | > 空间限制: 256MB 54 | > 55 | > 主要算法: 线段树+离散化 56 | 57 | ### 题解 58 | 59 | n很大,我们考虑离散。 60 | 维护horizon(水平)、vertical(垂直)两个线段树,表示在某一段垂直或水平区间上最右边的限制是什么,先查询再插入。 61 | 离散化就是无聊的把所有要用的数据塞到table里面去要用的时候用stl的二分lower_bound就可以找到位置了。 62 | -------------------------------------------------------------------------------- /Anoxx/Contest13/Readme.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## 赛后好题推荐 4 | > * 作比赛的时候碰到了新的知识,假如增加专题,优先做下方的题目再去刷专题 5 | 6 | 7 | ### Contest13 场外延伸 8 | ### 广搜包围圈(E题) 9 | - [x] [SCOI2009围豆豆Bean](http://www.lydsy.com/JudgeOnline/problem.php?id=1294) 10 | - [ ] [The Grove](http://poj.org/problem?id=3182) 11 | #### 分块 (F题) 12 | - [ ] [GERALD07](https://www.codechef.com/MARCH14/problems/GERALD07) 13 | - [ ] [Jeff and Removing Periods](http://codeforces.com/problemset/problem/351/D) 14 | - [ ] [2009国家集训队小Z的袜子](http://www.lydsy.com/JudgeOnline/problem.php?id=2038) 15 | #### 控制类树dp (G题) 16 | - [ ] [Fire](http://poj.org/problem?id=2152) 17 | - [ ] [Information Reform](http://codeforces.com/contest/70/problem/E) 18 | - [ ] [Little Wish~ lyrical step~](http://acm.hdu.edu.cn/showproblem.php?pid=4735) 19 | #### 启发式合并(每个点最多被合并logn次) (F题) 20 | - [ ] [Boring Counting](http://acm.hdu.edu.cn/showproblem.php?pid=4358) 21 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#003/B-Tavas_and_SaDDas.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | char n[20],b[20]; 4 | bool check(char* s) { 5 | for(int i=0; i=0&&x[k]=='7') { 19 | x[k]='4'; 20 | k--; 21 | } 22 | if(k>=0) x[k]='7'; 23 | else { 24 | top++; 25 | x[top]='4'; 26 | } 27 | return dfs(x,y+1,top); 28 | } 29 | return 0; 30 | } 31 | int main() { 32 | cin>>n; 33 | b[0]='4'; 34 | cout< 2 | #include 3 | #include 4 | using namespace std; 5 | const int INF=1e9; 6 | int x[10010],y[10010],dis[10010],vis[10010]; 7 | int main(){ 8 | bool b=0;int n,m,k; 9 | cin>>n>>m>>k; 10 | for(int i=1;i<=k;++i){ 11 | scanf("%d %d",&x[i],&y[i]);dis[i]=INF; 12 | if (x[i]==n&&y[i]==m) b=1; 13 | } 14 | if(b) ;//x[++k]=n,y[k]=m,dis[k]=INF; 15 | else x[++k]=n+1,y[k]=m+1,dis[k]=INF; 16 | dis[0]=0;x[0]=1;y[0]=1; 17 | for(int i=0;i<=k;++i){ 18 | int Min=k; 19 | for(int j=0;j<=k-1;++j) if(!vis[j]&&dis[j] * YES : solved in the contest 3 | > * Accepted : solved after contest 4 | > * Waiting : solving 5 | 6 | 7 | \# | A | B | C | D | E | F | G 8 | ---|---|---|---|---|---|---|--- 9 | |contest0|Y| Y | Y | A | A| X|X 10 | | contest1 | Y | Y | A|A|A|X|X 11 | | contest2 | A | Y | Y |A|A|X|X 12 | | contest3 | A | Y | Y|A|Y|X|X 13 | | contest4 | Y | Y | Y|Y|A|X|X 14 | | contest5 | Y | Y | Y|A|A|X|X 15 | | contest6 | Y | Y | Y|Y|A|W|X 16 | | contest7 | Y | A | A|W|W|X|X 17 | | contest8 | Y | Y | Y|Y|A|A|A 18 | | contest9 | Y | Y | A|W|A|X|X 19 | | contest10 | Y | Y | Y|A|A|X|X 20 | | contest11 | Y | Y | Y|Y|A|X|X 21 | | contest12 | Y | Y | A|Y|W|A|A 22 | | contest13| Y | Y | Y|Y|A|A|W 23 | | contest14 | Y | Y | Y|A|W|X|X 24 | | contest15 | Y   |   Y   | Y|Y|A|X|X 25 | 26 | -------------------------------------------------------------------------------- /wxs/c7/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n,m,k; 4 | int a[100005],b[100005],c[30],d[100005]; 5 | bool judge(int v){ 6 | memset(c,0,sizeof c); 7 | for(int i=1;i<=m;i++)c[a[i+v-1]]=1; 8 | for(int i=2;i<=29;i++)c[i]+=c[i-1]; 9 | for(int i=1;i<=m;i++)d[i]=c[a[i+v-1]]; 10 | for(int i=1;i<=m;i++)if(b[i]!=d[i])return 0; 11 | return 1; 12 | } 13 | int main(){ 14 | while(scanf("%d%d%d",&n,&m,&k)!=EOF){ 15 | for(int i=1;i<=n;i++){ 16 | scanf("%d",&a[i]); 17 | } 18 | memset(c,0,sizeof c); 19 | for(int i=1;i<=m;i++){ 20 | scanf("%d",&b[i]); 21 | c[b[i]]=1; 22 | } 23 | for(int i=2;i<=29;i++)c[i]+=c[i-1]; 24 | for(int i=1;i<=m;i++){ 25 | b[i]=c[b[i]]; 26 | } 27 | int ans=0; 28 | for(int i=1;i<=n-m+1;i++){ 29 | if(judge(i)){ 30 | ans+=1; 31 | i+=m-1; 32 | } 33 | } 34 | printf("%d\n",ans); 35 | } 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /zhang2333/C9/solution.txt: -------------------------------------------------------------------------------- 1 | A:好像可以用线段树做。。然而打标记就可以线性解决了。。 2 | B:正难则反。。删点难做就反过来加点嘛。。 3 | 对于一个已经求完两两最短路的图G,加上点x,先求x到u(u属于G)的距离(我使用spfa的),再求u(u属于G)到x的距离,最后把x当中间点跑弗洛伊德。。 4 | C:dp啊。。自行yy就好。。此题只不过代码容易写wei而已。。 5 | D:题意是这样的: 6 | 0000000 001000100 7 | 0001100 000110000 8 | 0010010 9 | 0010100 11 10 | 0000000 11 11 | 以上形状均可称为一个洞。。(很生动是不是?。。) 12 | 问:n*m的矩阵可能有多少个不同的洞?(位置不同也算不同) 13 | dp啊。。f[i][j]表示第i行中"100...001"(也可能没有0)的长度为j的种数。。 14 | g[i][j]表示第i行中"100...001"(也可能没有0)的长度为j且上一层长度不为j的种数。。(然而g[i][j]=f[i][j]-f[i-1][j]) 15 | 则答案就是。。Σf[i][j]*g[n-i+1][j]*(m-j+1) (1<=i<=n,2<=j<=m) 16 | E:离散化+线段树。。 17 | 最妙的地方是最初离散化是对所有可能出现的值离散的。。 18 | 线段树的节点记录三个值:siz,sum,ans(字面意思)。。 19 | 合并注意一下: t3.siz=t1.siz+t2.siz; 20 | t3.sum=t1.sum+t2.sum; 21 | t3.ans=t1.ans+t2.ans+t1.siz*t2.sum-t2.siz*t1.sum;(自行yy就好了。。) 22 | 然后就是简单的(我心虚了。。)二分、单点修改、区间查询。。而已。。 23 | -------------------------------------------------------------------------------- /hexu/contest8/C,pas: -------------------------------------------------------------------------------- 1 | var 2 | n,i,j,k,now:longint; 3 | a,id,ans:array[0..300000]of longint; 4 | function maX(A,B:longint):longint; 5 | begin 6 | if a>b then exit(a) else exit(b); 7 | end; 8 | procedure sort(l,r: longint); 9 | var i,j,x,y: longint; 10 | begin 11 | i:=l;j:=r;x:=a[random(R-L+1)+L]; 12 | repeat 13 | while a[i]j) then 16 | begin 17 | y:=a[i];a[i]:=a[j];a[j]:=y; 18 | y:=id[i];id[i]:=id[j];id[j]:=y; 19 | inc(i);j:=j-1; 20 | end; 21 | until i>j; 22 | if l 2 | using namespace std; 3 | 4 | long long n,m,k,a,b,l,t,ans; 5 | 6 | inline bool check(long long r) { 7 | long long sum=a*(r-l+1)+b*(((l-1+r-1)*(r-l+1))/2); 8 | return sum<=(long long)(m*t); 9 | } 10 | 11 | int main() { 12 | cin>>a>>b>>n; 13 | for(int i=1; i<=n; i++) { 14 | cin>>l>>t>>m; 15 | long long hl=a+l*b-b, dh=t-hl; 16 | long long rb=((dh/b)+l); 17 | if(rb 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | using namespace std; 8 | char g[5005][5005]; 9 | int h[5005][5005],n,m,ans=0; 10 | bool cmp(int a,int b) 11 | { 12 | return a>b; 13 | } 14 | int main() 15 | { 16 | scanf("%d%d",&n,&m); 17 | for(int i=0;i 2 | #include 3 | #define N 2010 4 | #define INF 1e9 5 | using namespace std; 6 | int dis[N],map[N][N],n,ans; 7 | char a[N][20]; 8 | bool used[N]; 9 | int main() 10 | { 11 | int i,j,k; 12 | while(scanf("%d",&n)==1 && n) 13 | { 14 | memset(map,0,sizeof(map)); memset(used,0,sizeof(used)); ans=0; 15 | for(i=1;i<=n;i++) scanf("%s",a[i]); 16 | for(i=1;i<=n;i++) 17 | for(j=1;j<=n;j++) 18 | for(k=0;k<7;k++) 19 | if(a[i][k]!=a[j][k]) map[i][j]++; 20 | for(i=1;i<=n;i++) dis[i]=map[1][i]; 21 | for(i=1;i<=n;i++) 22 | { 23 | int minn=INF,pos=0; 24 | for(j=1;j<=n;j++) if(dis[j]map[pos][j]&&!used[j]) dis[j]=map[pos][j]; 27 | } 28 | printf("The highest possible quality is 1/%d.\n",ans); 29 | } 30 | 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /hexu/Conetests9/B.pas: -------------------------------------------------------------------------------- 1 | var 2 | n,m,i,j,k,ii,ope:longint; 3 | map,DIS:array[0..505,0..505]of int64; 4 | p,ans,path:array[0..505]of int64; 5 | vis:array[0..505]of boolean; 6 | function min(a,b:longint):longint; 7 | begin 8 | if a>b then exit(b) else exit(a); 9 | end; 10 | begin 11 | readln(n); 12 | for i:=1 to n do 13 | begin 14 | for j:=1 to n do read(dis[i,j]); 15 | //dis[i,i]:=maxlongint div 3; 16 | readln; 17 | end; 18 | fillchar(vis,sizeof(vis),false); 19 | for i:=1 to n do read(p[i]); 20 | for ii:=n downto 1 do 21 | begin 22 | ope:=p[ii]; vis[ope]:=true; 23 | for i:=1 to n do 24 | for j:=1 to n do 25 | dis[i,j]:=min(dis[i,j],dis[i,ope]+dis[ope,j]); 26 | ans[ii]:=0; 27 | for i:=1 to n do 28 | if vis[i] then 29 | for j:=1 to n do 30 | if vis[j] then ans[ii]:=ans[ii]+dis[i,j]; 31 | end; 32 | for i:=1 to n do write(ans[i],' '); 33 | 34 | end. 35 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#010/E-Case_of_Chocolate.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | const int MAXN=200000 + 5; 4 | map mp; 5 | map::iterator it; 6 | int res[MAXN]; 7 | char oper[MAXN]; 8 | int n,m,x; 9 | int main() { 10 | scanf("%d%d",&n,&m); 11 | memset(res,0,sizeof res); 12 | mp[0]=0, mp[n+1]=m+1; 13 | oper[0]='U', oper[m+1]='L'; 14 | res[0]=0, res[m+1]=0; 15 | for(int i=1,tmp;i<=m;i++) { 16 | scanf("%d %d %c",&x,&tmp,&oper[i]); 17 | it=mp.lower_bound(x); 18 | if(it->first==x) { 19 | puts("0"); 20 | continue; 21 | } 22 | if(oper[i]=='L') it--; 23 | int ans=abs((it->first)-x); 24 | if(it!=mp.end()&&oper[it->second]==oper[i]) { 25 | ans+=res[it->second]; 26 | } 27 | printf("%d ",ans); 28 | res[i]=ans; 29 | mp[x]=i; 30 | } 31 | return 0; 32 | } 33 | -------------------------------------------------------------------------------- /Anoxx/Contest8/F.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | using namespace std; 4 | int fa[2000000][22],n,ans,k1,k2,dep[2000000],x; 5 | int lca(int x,int y){ 6 | if(dep[x]=0;i--)if(dep[fa[x][i]]>=dep[y])x=fa[x][i];//printf("%d\n",y); 8 | for(int i=21;i>=0;i--)if(fa[x][i]!=fa[y][i])x=fa[x][i],y=fa[y][i]; 9 | x=fa[x][0]; 10 | return ans-dep[x]*2; 11 | } 12 | int main(){ 13 | scanf("%d",&n); 14 | k1=2;k2=3;ans=2;fa[2][0]=fa[3][0]=fa[4][0]=1;dep[2]=dep[3]=dep[4]=1;int p=4; 15 | for(int i=1;i<=n;i++){ 16 | scanf("%d",&x); 17 | fa[p+1][0]=fa[p+2][0]=x; 18 | for(int i=1;i<=21;i++) 19 | fa[p+1][i]=fa[fa[p+1][i-1]][i-1],fa[p+2][i]=fa[fa[p+2][i-1]][i-1]; 20 | dep[p+1]=dep[p+2]=dep[x]+1; 21 | p+=2; 22 | int l1=lca(p,k1),l2=lca(p,k2); 23 | if(l1>l2&&l1>ans)ans=l1,k2=p; 24 | if(l2>=l1&&l2>ans)ans=l2,k1=p; 25 | printf("%d\n",ans); 26 | } 27 | 28 | } 29 | -------------------------------------------------------------------------------- /wxs/c11/solution.md: -------------------------------------------------------------------------------- 1 | 链接:https://cn.vjudge.net/contest/168242 2 | 3 | 4 | ## #A 5 | 6 | > 主要算法:算法?不存在的 7 | 8 | ### 题意 9 | 10 | 判断矩阵是否合法(每个不为1的数为横行一个数和竖列一个数的和) 11 | 12 | ### 题解 13 | 14 | 没有算法,暴力算! 15 | 16 | ## #B 17 | > 主要算法:枚举……? 18 | 19 | ### 题意 20 | 21 | y=-a/m+b,给了m和b,在直线取一点使该点和(0,0)构成的矩形中整点的横纵坐标之和之和最大。 22 | 23 | ### 题解 24 | 25 | 暴力枚举…… 26 | 27 | 出于各种不可描述因素,我wa了5遍……5遍…… 28 | 29 | ## #C 30 | 31 | > 主要算法:不知道……反正我是乱搞的…… 32 | 33 | ### 题意 34 | 35 | 给个栈,有插入删除操作,问中途最少几次对栈排序可以使删除顺序为1~n。 36 | 37 | ### 题解 38 | 39 | 不知道正解……反正我是乱搞的 40 | 41 | 每次用一个变量t表示栈前t位有序 42 | 43 | ## #D 44 | 45 | > 主要算法:SPFA 46 | 47 | ### 题意 48 | 49 | 坐标中有几个点是亮的,人只能走亮的点,每次花费1能同时亮一行或列,问可不可行到达目的,可行输出最小方案。 50 | 51 | ### 题解 52 | 53 | 直接跑SPFA,每次暴力枚举是否到达另一个点,不会TLE,时间舒服着呢 54 | 55 | ## #E 56 | 57 | > 主要算法:矩阵快速幂 58 | 59 | ### 题意 60 | 61 | 从(0,0)到(k,0),中间可以到(i+1,j+1),(i+1,j),(i+1,j-1),中间控制y坐标不能大于ci,问方案数。 62 | 63 | ### 题解 64 | 65 | 取每段用快速幂,输出a[0][0]就行了 66 | -------------------------------------------------------------------------------- /yyq/contest8/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | int n; 4 | int num[305]; 5 | int tot; 6 | int main() 7 | { 8 | scanf("%d",&n); 9 | for(int i=1;i<=n;i++) 10 | { 11 | scanf("%d",&num[i]); 12 | tot+=num[i]; 13 | } 14 | int sum=1; 15 | if(num[sum]>0) 16 | { 17 | cout<<"P"; 18 | num[sum]--; 19 | tot--; 20 | while(num[sum]>0) 21 | { 22 | cout<<"R"; 23 | sum++; 24 | if(num[sum]>0) 25 | { 26 | cout<<"PLP"; 27 | num[sum]--; 28 | tot--; 29 | } 30 | else 31 | cout<<"LP"; 32 | sum--; 33 | num[sum]--; 34 | tot--; 35 | } 36 | } 37 | while(tot>0) 38 | { 39 | while(num[sum]==0) 40 | { 41 | cout<<"R"; 42 | sum++; 43 | } 44 | if(num[sum]>0) 45 | { 46 | cout<<"P"; 47 | num[sum]--; 48 | tot--; 49 | while(num[sum]>0) 50 | { 51 | cout<<"LRP"; 52 | num[sum]--; 53 | tot--; 54 | } 55 | } 56 | } 57 | return 0; 58 | } 59 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#008/B-New_Year_Present.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n,a[1000],now,cnt=0,b[1000],tmp,ans=0; 5 | bool f[1000]; 6 | 7 | int main() { 8 | memset(f,0,sizeof f); 9 | scanf("%d",&n); 10 | for(int i=1;i<=n;i++) { 11 | scanf("%d",&a[i]); 12 | ans+=a[i]; 13 | } 14 | now=1; 15 | tmp=1; 16 | while(cnt Y - solved in the contest 3 | > 4 | > A- solved after the contest 5 | > 6 | > W - still solving 7 | > 8 | > X - no such problem 9 | 10 | | | A | B | C | D | E | F | G 11 | ---|---|---|---|---|---|---|---| 12 | contest#000| Y | Y | A | Y | W | X | X 13 | contest#001| Y | Y | Y | A | A | X | X 14 | contest#002| A | Y | A | Y | A | X | X 15 | contest#003| A | Y | Y | A | Y | X | X 16 | contest#004| Y | Y | Y | A | A | X | X 17 | contest#005| Y | Y | Y | Y | W | X | X 18 | contest#006| Y | Y | Y | Y | A | A | X 19 | contest#007| Y | A | W | W | W | X | X 20 | contest#008| Y | Y | Y | A | A | A | W 21 | contest#009| Y | Y | A | A | A | X | X 22 | contest#010| Y | Y | Y | A | A | X | X 23 | contest#011| Y | Y | Y | A | A | X | X 24 | contest#012| Y | A | Y | Y | W | A | W 25 | contest#013| Y | Y | Y | Y | A | A | W 26 | contest#014| Y | Y | Y | A | W | X | X 27 | contest#015| Y | Y | A | A | A | X | X 28 | -------------------------------------------------------------------------------- /fengxiao/lib/contest16/E.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 30 4 | using namespace std; 5 | int a[N],n,cnt=0,tmp,sum=0,b[10000010]; 6 | int gcd(int a,int b) {return b==0 ? a : gcd(b,a%b);} 7 | int main() 8 | { 9 | int t; 10 | scanf("%d",&n); 11 | for(int i=1;i<=n;i++) scanf("%d",&a[i]); 12 | t=a[1]; for(int i=2;i<=n;i++) t=gcd(a[i],t); 13 | for(int i=1;i<=n;i++) {a[i]/=t; sum+=a[i]; if(a[i]&1) cnt++,tmp=i;} 14 | if(cnt!=1) 15 | { 16 | if(t&1){puts("0");for(int i=1;i<=n;i++) for(int j=1;j<=a[i]*t;j++) printf("%c",i-1+'a'); return 0;} 17 | printf("%d\n",t); t/=2;for(int i=1;i<=26;i++) a[i]<<=1; sum<<=1; 18 | } 19 | if(sum&1)printf("%d\n",t); 20 | for(int i=1,j=sum,k=1;i 2 | const int N=1000001; 3 | int f[N][21],dep[N],cnt=4,maxl=2,maxr=4,len=2; 4 | void addNum(int fa){ 5 | f[++cnt][0]=fa; dep[cnt]=dep[fa]+1; 6 | for(int i=1;i<=20;++i) f[cnt][i]=f[f[cnt][i-1]][i-1]; 7 | } 8 | int lca(int l,int r){ 9 | int t; if(dep[l]=0;--j) if(t&(1<=0;--j) if(f[l][j]!=f[r][j]) l=f[l][j],r=f[r][j]; 13 | return f[l][0]; 14 | } 15 | int dist(int l,int r){ 16 | return dep[l]+dep[r]-dep[lca(l,r)]*2+1; 17 | } 18 | int main(){ 19 | f[2][0]=f[3][0]=f[4][0]=1; dep[1]=1; 20 | dep[2]=dep[3]=dep[4]=2; 21 | int n; scanf("%d",&n); 22 | for(int i=1;i<=n;++i){ 23 | int x; scanf("%d",&x); addNum(x); addNum(x); 24 | int t=dist(x,maxl); if(t>len) len=t,maxr=cnt; 25 | t=dist(x,maxr); if(t>len) len=t,maxl=cnt; 26 | printf("%d\n",len); 27 | } 28 | return 0; 29 | } 30 | -------------------------------------------------------------------------------- /fengxiao/lib/zhuan ti/zui xiao sheng cheng shu/I.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | int n,m=0; 6 | struct Edge {int s,e,v;} e[10010]; 7 | bool cmp(Edge a,Edge b) {return a.vj) 21 | e[++m].s=i,e[m].e=j,e[m].v=x; 22 | } 23 | for(i=1;i<=n;i++) fat[i]=i; 24 | sort(e+1,e+m+1,cmp); 25 | for(i=1;i<=m;i++) 26 | { 27 | int x=father(e[i].s),y=father(e[i].e); 28 | if(x==y) continue; 29 | else 30 | { 31 | fat[x]=y; 32 | ans+=e[i].v; 33 | k++; 34 | } 35 | if(k==n-1) break; 36 | } 37 | printf("%d\n",ans); 38 | } 39 | return 0; 40 | } 41 | -------------------------------------------------------------------------------- /yyq/contest9/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | const int MAXN=100005; 4 | int a[MAXN]; 5 | int n,m,k; 6 | long long ans[MAXN]; 7 | struct opera{ 8 | int l,r,d; 9 | }q[MAXN]; 10 | int x,y; 11 | int sum[MAXN]; 12 | int main() 13 | { 14 | scanf("%d%d%d",&n,&m,&k); 15 | for(int i=1;i<=n;i++) 16 | scanf("%d",&a[i]); 17 | for(int i=1;i<=m;i++) 18 | scanf("%d%d%d",&q[i].l,&q[i].r,&q[i].d); 19 | for(int i=1;i<=k;i++) 20 | { 21 | scanf("%d%d",&x,&y); 22 | sum[x]++; 23 | sum[y+1]--; 24 | } 25 | for(int i=1;i<=m;i++) 26 | sum[i]+=sum[i-1]; 27 | for(int i=1;i<=m;i++) 28 | { 29 | ans[q[i].l]+=(long long)sum[i]*(long long)q[i].d; 30 | ans[q[i].r+1]+=(long long)-sum[i]*(long long)q[i].d; 31 | } 32 | // for(int i=1;i<=n;i++) 33 | // cout< 2 | #include 3 | #include 4 | using namespace std; 5 | int n,nn,m=0; 6 | struct Edge {int s,e,v;} e[10010]; 7 | bool cmp(Edge a,Edge b) {return a.v 2 | #include 3 | #include 4 | #define xxx 100100 5 | using namespace std; 6 | int n,k,ans=0,a[xxx],g,lian[xxx]; 7 | 8 | int main() 9 | { 10 | int x,y,p; 11 | scanf("%d%d",&n,&k); 12 | for (int nnd=1;nnd<=k;nnd++) 13 | { 14 | scanf("%d",&y); 15 | for (int i=1;i<=y;i++) 16 | scanf("%d",&a[i]); 17 | p=y; 18 | for (int i=1;i1&&p 2 | #include 3 | #define N 1510 4 | using namespace std; 5 | int dx[]={0,1,-1,0,0},dy[]={0,0,0,1,-1}; 6 | int n,m; char map[N][N]; 7 | struct P {int x,y;} f[N][N]; 8 | bool dfs(int x, int y) 9 | { 10 | int nx=(x%n+n)%n,ny=(y%m+m)%m; 11 | if(map[nx][ny]=='#') return false; 12 | if(f[nx][ny].x!=f[N-1][N-1].x) return f[nx][ny].x!=x||f[nx][ny].y!=y; 13 | f[nx][ny].x=x,f[nx][ny].y=y; 14 | for(int i=1;i<=4;i++) if(dfs(x+dx[i],y+dy[i])) return true; 15 | return false; 16 | } 17 | int main() 18 | { 19 | scanf("%d %d",&n,&m); 20 | bool flag=1; 21 | for(int i=0;i 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | using namespace std; 8 | int n,m,num=0; 9 | char c[1000010]; 10 | int a[10]; 11 | int main() 12 | { 13 | scanf("%s",c); 14 | int len=strlen(c); 15 | for (int i=0;i 2 | using namespace std; 3 | int n,m,k,x[100100],a[100100],x_sml[100100],x_big[100100],a_sml[100100],a_big[100100],ans; 4 | bool judge(int x) { 5 | for(int i=x; i<=x+m-1; i++)if(x_sml[i]-x_sml[x]!=a_sml[i-x+1]-a_sml[1]||x_big[i]-x_big[x]!=a_big[i-x+1]-a_big[1])return 0; 6 | return 1; 7 | } 8 | int main() { 9 | while(scanf("%d%d%d",&n,&m,&k)==3) { 10 | for(int i=1; i<=n; i++)scanf("%d",&x[i]); 11 | for(int i=1; i<=m; i++)scanf("%d",&a[i]); 12 | ans=0; 13 | x_sml[1]=x_big[1]=a_sml[1]=a_big[1]=0; 14 | for(int i=2; i<=n; i++)x_sml[i]=x_sml[i-1]+(x[i-1]x[i]); 15 | for(int i=2; i<=m; i++)a_sml[i]=a_sml[i-1]+(a[i-1]a[i]); 16 | int i=1; 17 | while(i+m<=n+1) 18 | if(judge(i)) { 19 | ans++; 20 | i+=m; 21 | } else i++; 22 | printf("%d\n",ans); 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /fengxiao/lib/contest17/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | using namespace std; 5 | int n,a[100010]; 6 | int sum[100010]; 7 | int nxt[100010]; 8 | int main() 9 | { 10 | int ans=0; int msum=0; 11 | int i; int pos=1; 12 | scanf("%d",&n); 13 | for(i=1;i<=n;i++) scanf("%d",&a[i]); 14 | for(i=1;i<=n;i++) {if(a[i]>a[i-1]) sum[i]=sum[i-1]+1;else {sum[i]=1;for(int j=pos;j<=i-1;j++) nxt[j]=i-1; pos=i;}} for(i=pos;i<=n;i++)nxt[i]=n; 15 | //for(i=1;i<=n;i++) printf("%d ",sum[i]); puts(""); 16 | //for(i=1;i<=n;i++) printf("%d ",nxt[i]); puts(""); 17 | for(i=1;i<=n;i++) 18 | { 19 | msum=max(msum,sum[i]); 20 | //if(i==2) printf("%d ",sum[i-1]+sum[nxt[i+1]]+(a[i]>=a[i+1] ? 1 : 0)); 21 | if(sum[i]==1&& a[i+1]-a[i-1]>1) ans=max(ans,sum[i-1]+sum[nxt[i+1]]+(a[i]>=a[i+1] ? 1 : 0)); 22 | if(nxt[i]==i&& a[i+1]-a[i-1]>1) { ans=max(ans,sum[i-1]+1+sum[nxt[i+1]]);} 23 | } 24 | //printf("%d ",ans); 25 | printf("%d",max(msum+(msum==n ? 0 : 1),ans)); 26 | return 0; 27 | } 28 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#007/A.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | const int MAXS=100010, MAXT=100010; 5 | 6 | int a[30]; 7 | int f[MAXT],s[MAXS],t[MAXT]; 8 | int n,m,ans=0,k,tmp; 9 | 10 | bool solve(int x) { 11 | for(int i=1;i=s[x+i])||(t[i]==t[i+1]&&s[x+i-1]!=s[x+i])||(t[i]>t[i+1]&&s[x+i-1]<=s[x+i])) { 13 | return false; 14 | } 15 | } 16 | return true; 17 | } 18 | 19 | int main() { 20 | while((scanf("%d%d%d",&n,&m,&k))!=EOF) { 21 | memset(a,0,sizeof a); 22 | for(int i=1;i<=n;i++) { 23 | scanf("%d",&s[i]); 24 | a[s[i]]=1; 25 | } 26 | for(int i=1;i<=m;i++) { 27 | scanf("%d",&t[i]); 28 | a[t[i]]=1; 29 | } 30 | memset(f,0,sizeof f); 31 | ans=0; 32 | for(int i=1;i<=n-m+1;i++) { 33 | if(solve(i)) { 34 | i+=m-1; 35 | ans++; 36 | } 37 | } 38 | printf("%d\n",ans); 39 | } 40 | return 0; 41 | } -------------------------------------------------------------------------------- /fengxiao/lib/contest15/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 7010 4 | using namespace std; 5 | int n,l[2],v[7010][2]; 6 | int f[7010][2],cnt[7010][2]; 7 | void dfs(int u,int t) 8 | { 9 | int i,j; 10 | if (f[u][t]) return; 11 | f[u][t]=2; 12 | if(!u) return; 13 | for(i=1;i<=l[!t];i++) 14 | { 15 | cnt[(u-v[i][!t]+n)%n][!t]++; 16 | if (cnt[(u-v[i][!t]+n)%n][!t]==l[!t]) 17 | { 18 | f[(u-v[i][!t]+n)%n][!t]=1; 19 | for(j=1;j<=l[t];j++) dfs( (u-v[i][!t]+n-v[j][t]+n)%n,t ); 20 | } 21 | } 22 | } 23 | int main() 24 | { 25 | int i,j; 26 | scanf("%d",&n); 27 | scanf("%d",&l[0]); for(i=1;i<=l[0];i++) scanf("%d",&v[i][0]); 28 | scanf("%d",&l[1]); for(i=1;i<=l[1];i++) scanf("%d",&v[i][1]); 29 | for(j=0;j<2;j++) 30 | for(i=1;i<=l[j];i++) dfs(n-v[i][j],j); 31 | for(j=0;j<2;j++) 32 | { 33 | for(i=1;i 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int n,m=0; 7 | struct Edge 8 | {int s,e,v;}e[10010]; 9 | bool cmp(Edge a,Edge b) {return a.v>n) 16 | { 17 | if(n==0) break; 18 | ans=k=m=0; 19 | for(i=1;i>c>>tmp; 22 | for(j=1;j<=tmp;j++) 23 | { 24 | cin>>ch>>e[m+j].v; 25 | e[m+j].s=c-'A'+1,e[m+j].e=ch-'A'+1; 26 | } 27 | m+=tmp; 28 | } 29 | sort(e+1,e+m+1,cmp); 30 | for(i=1;i<=n;i++) fat[i]=i; 31 | for(i=1;i<=m;i++) 32 | { 33 | int x=father(e[i].s),y=father(e[i].e); 34 | if(x==y) continue; 35 | else 36 | { 37 | fat[x]=y; 38 | ans+=e[i].v; 39 | k++; 40 | } 41 | if(k==n-1) break; 42 | } 43 | printf("%d\n",ans); 44 | } 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /fengxiao/lib/zhuan ti/zui xiao sheng cheng shu/E.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define N 1010 5 | using namespace std; 6 | int n,m=0; 7 | struct Edge {int s,e,v;} e[N*N]; 8 | bool cmp(Edge a,Edge b) {return a.v 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int n,m=0; 7 | struct Edge 8 | {int s,e,v;}e[10010]; 9 | bool cmp(Edge a,Edge b) {return a.v>n) 16 | { 17 | if(n==0) break; 18 | ans=k=m=0; 19 | for(i=1;i>c>>tmp; 22 | for(j=1;j<=tmp;j++) 23 | { 24 | cin>>ch>>e[m+j].v; 25 | e[m+j].s=c-'A'+1,e[m+j].e=ch-'A'+1; 26 | } 27 | m+=tmp; 28 | } 29 | sort(e+1,e+m+1,cmp); 30 | for(i=1;i<=n;i++) fat[i]=i; 31 | for(i=1;i<=m;i++) 32 | { 33 | int x=father(e[i].s),y=father(e[i].e); 34 | if(x==y) continue; 35 | else 36 | { 37 | fat[x]=y; 38 | ans+=e[i].v; 39 | k++; 40 | } 41 | if(k==n-1) break; 42 | } 43 | printf("%d\n",ans); 44 | } 45 | return 0; 46 | } 47 | -------------------------------------------------------------------------------- /fengxiao/lib/contest12/B.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #define N 210 4 | #define P 1000000007 5 | using namespace std; 6 | int fat[N],sz[N],in[N],gro; 7 | bool used[N][N],flag=0,is_cir; 8 | int father(int x) {if(fat[x]!=x) fat[x]=father(fat[x]); return fat[x];} 9 | int main() 10 | { 11 | int n,m,tmp,i; 12 | scanf("%d %d",&n,&m); gro=n; 13 | if(n==2) {puts("1"); return 0;} 14 | for(i=1;i<=n;i++) sz[i]=1,fat[i]=i; 15 | for(i=1;i<=m;i++) 16 | { 17 | scanf("%d",&tmp); 18 | if(used[tmp][i]) continue; 19 | used[tmp][i]=used[i][tmp]=1; 20 | in[i]+=1; in[tmp]+=1; 21 | int fx=father(tmp),fy=father(i); 22 | if(fx!=fy) 23 | { 24 | fat[fx]=fy; 25 | sz[fy]+=sz[fx]; sz[fx]=0; 26 | gro--; 27 | } 28 | else is_cir=1; 29 | } 30 | for(i=1;i<=n;i++) if(in[i]>2) {flag=1; break;} 31 | if(flag || (is_cir&&gro>1)) {puts("0"); return 0;} 32 | long long ans=1; 33 | for(i=1;i1) ans=(ans<<1)%P; 35 | printf("%I64d\n",ans); 36 | return 0; 37 | } 38 | -------------------------------------------------------------------------------- /fengxiao/lib/contest17/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #define int long long 6 | #define N 1000010 7 | using namespace std; 8 | int n,m,K,p,ans=-10000000000000000; 9 | int map[5010][5010],rs[N],cs[N],sumr[N],sumc[N]; 10 | priority_queue rq,cq; 11 | main() 12 | { 13 | int i,j; 14 | scanf("%I64d %I64d %I64d %I64d",&n,&m,&K,&p); 15 | for(i=1;i<=n;i++) 16 | for(j=1;j<=m;j++) 17 | { 18 | scanf("%I64d",&map[i][j]); 19 | rs[i]+=map[i][j]; cs[j]+=map[i][j]; 20 | } 21 | for(i=1;i<=n;i++) rq.push(rs[i]); 22 | for(i=1;i<=K;i++) 23 | { 24 | int u=rq.top(); rq.pop(); 25 | sumr[i]=sumr[i-1]+u;// printf("%I64d ",u); 26 | u-=p*m; rq.push(u); 27 | }//puts(""); 28 | for(i=1;i<=m;i++) cq.push(cs[i]); 29 | for(i=1;i<=K;i++) 30 | { 31 | int u=cq.top(); cq.pop(); 32 | sumc[i]=sumc[i-1]+u;// printf("%I64d ",u); 33 | u-=p*n; cq.push(u); 34 | } 35 | for(i=0;i<=K;i++) ans=max(sumr[i]+sumc[K-i]-p*i*(K-i),ans); 36 | printf("%I64d",ans); 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /yyq/contest17/C.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define use_ios ios::sync_with_stdio(false); 3 | #define use_tie cin.tie(0); 4 | using namespace std; 5 | int a[100020],l[100020],r[100020],n; 6 | int main() 7 | { 8 | use_ios 9 | use_tie 10 | cin>>n; 11 | for(int i=1;i<=n;i++) 12 | cin>>a[i]; 13 | l[1]=1,r[n]=1; 14 | for(int i=2;i<=n;i++) { 15 | if(a[i]>a[i-1]) 16 | l[i]=l[i-1]+1; 17 | else 18 | l[i]=1; 19 | } 20 | for(int i=n-1;i>=1;i--) { 21 | if(a[i]a[i-1]+1) { 29 | if(l[i-1]+1+r[i+1]>ans) 30 | ans=l[i-1]+1+r[i+1]; 31 | } 32 | else { 33 | if(l[i-1]+1>ans) 34 | ans=l[i-1]+1; 35 | if(r[i+1]+1>ans) 36 | ans=r[i+1]+1; 37 | } 38 | } 39 | cout< 2 | using namespace std; 3 | const int maxn=100+10; 4 | int n; 5 | int tot1,tot2; 6 | int a[maxn]; 7 | int b[maxn]; 8 | bool cmp(int a1,int a2) 9 | { 10 | return a1>a2; 11 | } 12 | int suma[maxn],sumb[maxn]; 13 | int main() 14 | { 15 | scanf("%d",&n); 16 | int x,y; 17 | tot1=tot2=0; 18 | for(int i=0;i=width&&ans>thick) 41 | ans=thick; 42 | } 43 | printf("%d\n",ans); 44 | return 0; 45 | } 46 | -------------------------------------------------------------------------------- /zkc/Codes/Contest#013/B-Complete_the_Word.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | using namespace std; 3 | 4 | int n; 5 | string s; 6 | 7 | void print() { 8 | for(int i=0;i1) return; 23 | } 24 | } 25 | int j=0; 26 | for(int i=x;i<=x+25;i++) { 27 | if(s[i]=='?') { 28 | while(f[j]>0) j++; 29 | s[i]=(char)(j+'A'); 30 | f[j]++; 31 | } 32 | } 33 | print(); 34 | } 35 | 36 | int main() { 37 | cin>>s; 38 | n=s.length(); 39 | if(n<26) { 40 | puts("-1"); 41 | return 0; 42 | } 43 | for(int i=0;i<=n-26;i++) { 44 | check(i); 45 | } 46 | puts("-1"); 47 | return 0; 48 | } -------------------------------------------------------------------------------- /yyq/contest17/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #define use_ios ios::sync_with_stdio(false); 3 | #define use_tie cin.tie(0); 4 | using namespace std; 5 | typedef long long ll; 6 | const ll inf=1e18; 7 | const int maxn=1010; 8 | const int maxk=1000010; 9 | int n,m; 10 | ll k,p,ans=-inf; 11 | ll a[maxn][maxn]; 12 | ll suma[maxn],sumb[maxn]; 13 | ll br[maxk],bc[maxk]; 14 | priority_queue qr,qc; 15 | int main() { 16 | use_ios 17 | use_tie 18 | cin>>n>>m>>k>>p; 19 | for(int i=1;i<=n;i++) { 20 | for(int j=1;j<=m;j++) { 21 | cin>>a[i][j]; 22 | suma[i]+=a[i][j]; 23 | sumb[j]+=a[i][j]; 24 | } 25 | } 26 | for(int i=1;i<=n;i++) 27 | qr.push(suma[i]); 28 | for(int i=1;i<=m;i++) 29 | qc.push(sumb[i]); 30 | for(int i=1;i<=k;i++) { 31 | ll r=qr.top(); 32 | qr.pop(); 33 | br[i]=br[i-1]+r; 34 | qr.push(r-m*p); 35 | ll c=qc.top(); 36 | qc.pop(); 37 | bc[i]=bc[i-1]+c; 38 | qc.push(c-n*p); 39 | } 40 | for(int i=0;i<=k;i++) { 41 | ans=max(ans,br[i]+bc[k-i]-(i*(k-i)*p)); 42 | } 43 | cout< 2 | #include 3 | #include 4 | #include 5 | using namespace std; 6 | int n,m,k; 7 | int a[100001],b[100001]; 8 | int f[100]; 9 | int main() 10 | { 11 | while (scanf("%d%d%d",&n,&m,&k)!=-1) 12 | { 13 | int ans=0; 14 | for (int i=1;i<=n;i++) scanf("%d",&a[i]); 15 | for (int i=1;i<=m;i++) scanf("%d",&b[i]); 16 | for (int i=1;i<=n-m+1;) 17 | { 18 | for (int j=1;j<=k;j++) f[j]=0; 19 | bool judge=1; 20 | for (int j=i;j<=i+m-1;j++) 21 | { 22 | if (f[b[j-i+1]]&&f[b[j-i+1]]!=a[j]) 23 | { 24 | judge=0; 25 | break; 26 | } 27 | f[b[j-i+1]]=a[j]; 28 | int before=f[1]; 29 | for (int i0=2;i0<=k;i0++) 30 | { 31 | if (f[i0]&&f[i0]<=before) 32 | { 33 | judge=0; 34 | break; 35 | } 36 | if (f[i0]) before=f[i0]; 37 | } 38 | if (!judge) break; 39 | } 40 | if (judge) 41 | { 42 | ans++; 43 | i+=m; 44 | } 45 | else i++; 46 | } 47 | printf("%d\n",ans); 48 | } 49 | return 0; 50 | } 51 | -------------------------------------------------------------------------------- /Anoxx/Contest10/D.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #define LL long long 5 | using namespace std; 6 | struct node{ 7 | LL l,r,pos; 8 | }a[300000]; 9 | LL l[300000],r[300000],val,n,m,ans[300000]; 10 | bool cmp(node a,node b){ 11 | return a.lp[300000]; 14 | set >st; 15 | int main(){ 16 | scanf("%I64d%I64d",&n,&m); 17 | for(int i=1;i<=n;i++){ 18 | scanf("%I64d%I64d",&l[i],&r[i]); 19 | if(i>1)a[i-1].l=l[i]-r[i-1],a[i-1].r=r[i]-l[i-1],a[i-1].pos=i-1; 20 | } 21 | for(int i=1;i<=m;i++){ 22 | scanf("%I64d",&val); 23 | p[i]=make_pair(val,i); 24 | } 25 | sort(p+1,p+m+1); 26 | sort(a+1,a+n,cmp); 27 | for(int i=n-1,j=m;i>0;i--){ 28 | while(j>0&&p[j].first>=a[i].l)st.insert(p[j]),j--; 29 | set >::iterator it=st.upper_bound(make_pair(a[i].r+1,0)); 30 | if(it==st.begin())return printf("No"),0; 31 | it--; 32 | ans[a[i].pos]=it->second; 33 | st.erase(it); 34 | 35 | } 36 | printf("Yes\n"); 37 | for(int i=1;i 2 | #include 3 | #include 4 | using namespace std; 5 | int n,T,a[5],go[5],used[31][31][31][31]; 6 | char s[50],t[50]; 7 | inline void clear() {memset(used,0,sizeof(used));memset(a,0,sizeof(a));memset(go,0,sizeof(go));} 8 | inline void dfs(int a,int b,int c,int d) 9 | { 10 | if (used[a][b][c][d]) return; 11 | used[a][b][c][d]=1; 12 | if (a&&c) dfs(a-1,b+1,c-1,d+1); 13 | if (b&&d) dfs(a+1,b-1,c+1,d-1); 14 | if (a&&b) dfs(a-1,b-1,c+1,d); 15 | if (b&&c) dfs(a,b-1,c-1,d+1); 16 | if (c&&d) dfs(a+1,b,c-1,d-1); 17 | if (d&&a) dfs(a-1,b+1,c,d-1); 18 | } 19 | int main() 20 | { 21 | int i; 22 | scanf("%d",&T); 23 | while (T--) 24 | { 25 | clear(); 26 | scanf("%s",s); for(i=0;i<30;i++) if(s[i]=='*') a[i%4]++; 27 | scanf("%s",s); for(i=0;i<30;i++) if(s[i]=='*') go[i%4]++; 28 | dfs(a[0],a[1],a[2],a[3]); 29 | if(used[go[0]][go[1]][go[2]][go[3]]) puts("YES"); 30 | else puts("NO"); 31 | } 32 | return 0; 33 | } 34 | --------------------------------------------------------------------------------