A. Sushi for Two
分析
模拟题,只需要模拟找出连续最长的111222或222111这种数段即可.
代码
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include
View Code
B. Circus
分析
这题需要找出题目中的数学关系,先把人分成4种(0,0)(1,0)(0,1)(1,1),人数分别为a0,b0,c0,d0,总人数为n,假设第一场4种人分别选了a,b,c,d个,依题意有a+b+c+d=n/2,b+d=c0-c+d0-d,这个方程组有两个方程4个变量,即有两个未知量,分别枚举其中两个未知量,来确定另外两个未知量,只要保证算出来的a,b,c,d合法即可.(下面代码思路相同不过设置的变量不同,仅供参考)
代码
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include
View Code
C. Skyscrapers
分析
这道题读懂题意后最关键的是离散化操作,这个操作会了码一下细节基本就过了.
代码
1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include
::iterator e=unique(v.begin(),v.end());37 r[i]=e-v.begin();38 for(int j=0;j
::iterator e=unique(v.begin(),v.end());47 c[j]=e-v.begin();48 for(int i=0;i
=b) ans=max(r[i],c[j]+a-b);67 else ans=max(r[i]+b-a,c[j]);68 cout< <<' ';69 }70 cout<