上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页
摘要: 给出n,m。从n个数中选几个相乘,再%m。能取到的最大值和取法。 用dp[i][j]记录前i行能否取到j这个结果。那么dp[i][j]至少等于dp[i-1][j],还能等于所有的dp[i-1][j]*arr[i]%m。要输出方案,那么如果在记录的过程中,j*arr[i]%m在i-1没出现说明是新得出 阅读全文
posted @ 2018-10-13 21:15 degvx 阅读(158) 评论(0) 推荐(0)
摘要: 首先,证明结果一定是取某些整行,再加上一个多余的一行的前几个。 假如: x1<=x2<=x3<=x4<=x5 y1<=y2<=y3<=y4<=y5 取6个,最优解是取x3,x4,x5,y3,y4,y5。那么: (1)如果y3>=x2,那么y3+y4>=x1+x2。就取掉y3,y4取x1,x2更优。 阅读全文
posted @ 2018-10-13 13:53 degvx 阅读(240) 评论(0) 推荐(0)
摘要: Factorial 题意:能否找到一个数,它的阶乘后面0的个数为n? 数越大,阶乘后的0越多。用二分找。对于一个数x,它的阶乘,将小于等于它的数分解质因数。其中2的个数一定大于5的个数。因此计5的个数就是结果末尾0的个数。比它小的数有x/5个5的倍数,x/25个25的倍数。那么5的数量就是x/5+x 阅读全文
posted @ 2018-10-13 13:22 degvx 阅读(214) 评论(0) 推荐(0)
摘要: 题意:一个人在环形跑道上跑,最后距离原点多远? 注意转为long long 时要加0.5,否则会少1. 阅读全文
posted @ 2018-10-12 10:11 degvx 阅读(150) 评论(0) 推荐(0)
摘要: 题意:两人在x,y两时刻之间出现,先到的最多等z分钟就离开。问相遇机率。 画坐标轴,横轴表示x出现的时间点,纵轴表示y出现的时间点。过原点斜率为1的直线表示恰好相遇。上下平移z就是能相遇。 阅读全文
posted @ 2018-10-12 09:34 degvx 阅读(119) 评论(0) 推荐(0)
摘要: 模拟就行。注意int arr[][]二维数组在定义时是二维数组,而函数传参时是指针。这意味着memset()的不同。传参时只能当作一维逐个memset。 阅读全文
posted @ 2018-10-11 15:50 degvx 阅读(156) 评论(0) 推荐(0)
摘要: 用扫描线记录最长线段长度,扫左端时表示有线段,如果num为0就是一个区间的开始,个数++num;扫右端时--num,如果为0,是区间的结束。记录最值。 阅读全文
posted @ 2018-10-11 15:45 degvx 阅读(174) 评论(0) 推荐(0)
摘要: 题意:16数码是否有解? 先计算展开成一维后逆序对。如果0在最后一行,那么逆序偶时有解。4*4时(n为偶)0的位置上升一行,逆序对+3或-1(奇偶性变化)。(n为奇时+2或+0,不变) 阅读全文
posted @ 2018-10-11 11:05 degvx 阅读(133) 评论(0) 推荐(0)
摘要: 题意:给出所有人比的场数,设计一种方案。赢的人必须连续打下一轮。 能得知2个结论:1:不会有人的场数超过场数和的一半,否则他的对手会有自己。2:要打赢一个人的人至少会打2场,因为他打赢算1场,然后还必须参加下一场。打2场以上的人打的场数和>=所有人的场数和的一半。 这样的话,就用场数多的当胜者,他打 阅读全文
posted @ 2018-10-11 10:36 degvx 阅读(137) 评论(0) 推荐(0)
摘要: 题意:画n条线最多将平面分成多少块? 画线的时候,尽量与原有的先相交,且不经过原先的交点,这样能新生成最多块。如果原先有a条线,这样切能产生a+1块。最开始有1块,线有0条。找规律发现一条在0条基础上+1,2条在1条基础上+2,3条在2条基础上+3.n条就是1+一个等差n项和。 阅读全文
posted @ 2018-10-10 17:02 degvx 阅读(128) 评论(0) 推荐(0)
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 20 下一页