分析:主要参考http://m.blog.csdn.net/blog/yinzm520/22721285这里的解题方法。
关键是要找到小车的运动状态,下面是分析和公式推导;
在小车转弯过程中,黄线是不断地变化的,变化规律是先增大再减小。所以抓住这一点,用三分法。先找一个变量,角度sita(就是上图中用红色标记的那个角),之后就是一系列的推导,算出黄线的长度。角度的范围是...
分类:
其他好文 时间:
2015-05-09 16:41:23
阅读次数:
319
题意:Jerry、Tom玩游戏,给你出n个盒子,a[ i ]表示初始时,第i个中小球个数。之后Jerry可在每个盒子中加入0或k倍的小球,完成后,Jerry可以重排盒子的顺序,若能使第i个盒子中有i个小球,则Jerry获胜,输出“Jerry”,否则输出“Tom” 。
分析:首先统计每种数量的球有多少个盒子,然后从小到大分过去,剩下的盒子放到i+k的位置,这样扫描一遍数组,若有超过一个及一个以上数...
分类:
其他好文 时间:
2015-05-09 15:00:46
阅读次数:
99
分析:Lucas定理的推导题,要求 C(n,m)%2,那么由lucas定理,写成二进制观察,如 n=1001101,m是从000000到1001101的枚举,在该定理中C(0,1)=0,因此n=1001101的0对应位置的m二进制位为1那么C(n,m) % 2==0,因此m对应n为0的位置只能填0,而1的位置填0,填1都是1(C(1,0)=C(1,1)=1),不影响结果为奇数,并且保证不会超出n的...
分类:
其他好文 时间:
2015-05-09 13:27:49
阅读次数:
107
分析:k_d树的模版题,参考了别人的写的;划分的时候采用坐标跨度作为分割依据的效率略比采用树的深度作为划分依据的高;nth_element函数比sort函数的效率高;全部采用getchar和putchar效率也能提高一些。
#include
#include
using namespace std;
struct POINT
{
int x,y;
};
struct K_D_Node
{...
分类:
其他好文 时间:
2015-05-08 13:07:52
阅读次数:
119
逃离迷宫
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 18241 Accepted Submission(s): 4409
Problem Description
给定一个m × n (m行, n列)的迷宫,...
分类:
其他好文 时间:
2015-05-08 09:32:13
阅读次数:
125
分析:动态规划,一定要注意当前状态需要和前面所有的状态一起进行考虑,另外注意浮点数的处理,还WA了一次。
#include
using namespace std;
int L,N,C,T,VR,VT1,VT2;
int a[105];
double dp[105];
double min_time_ij(int i_0,int j_0)
{
if(j_0-i_0>C)
return ...
分类:
其他好文 时间:
2015-05-06 17:48:35
阅读次数:
193
分析:使用优先队列.
以next为优先级,小的先出队
读入数据后排序,初始化队列第一个元素(0,a[0],0)
每次出队一个元素,入队(sum,sum+a[nextid+1],nextid+1),(next,next+a[nextid+1],nextid+1),即是否加上a[nextid+1]都考虑进去了。
这样每次新加入的元素都是下一个最小的(next),进行m次就得到了第m小。
...
分类:
其他好文 时间:
2015-05-06 15:08:18
阅读次数:
94
分析:水题,注意计算某个位置的分数时他自己的不算,加减都是绝对值(一开始这里还理解错了)。
#include
#include
using namespace std;
int a[25][25];
int main()
{
int i,j,n,m;
int maxv,maxi,maxj,tmp;
while(cin>>n>>m && n+m)
{
for(i=0;i<n;i+...
分类:
其他好文 时间:
2015-05-06 13:22:04
阅读次数:
100
分析:水题,电梯要上到最高层还要回到最底层,所以电梯上下的时间等于最高层乘以10,电梯开门完的时间为5加上人数,因为下一个人只需1秒。
#include
using namespace std;
int main()
{
int f[105];
int i,sum;
int C,n,a,max;
cin>>C;
while(C--)
{
cin>>n;
memset(f,...
分类:
其他好文 时间:
2015-05-06 13:17:42
阅读次数:
88
分析:水题。
#include
using namespace std;
int main()
{
int x1,y1,z1,x2,y2,z2;
int n,x3,y3,z3;
cin>>n;
while(n--)
{
scanf("%d:%d:%d",&x1,&y1,&z1);
scanf("%d:%d:%d",&x2,&y2,&z2);
x3=y3=z3=0;
...
分类:
其他好文 时间:
2015-05-06 13:16:21
阅读次数:
127