vijosP1049 送给圣诞夜的礼品链接:https://vijos.org/p/1049【思路】 快速幂+矩阵转换。 将m次矩阵的转换看作是一次快速幂中的乘法操作,这样可以用O(log(k/m))的时间求出矩阵进行k/m次操作后的结果,然后把剩下的k%m次矩阵转换补上即可。【代码】 1 #inc...
分类:
其他好文 时间:
2015-10-13 15:20:46
阅读次数:
136
vijosP1115 火星人链接:https://vijos.org/p/1115【思路】 排列组合。 题目要求为求第下m个排列。 这里有两种方法,首选的是调用algorithm中的next_permutation函数,其次就是手写生成函数。【代码1】53ms 1 #include 2 #incl....
分类:
其他好文 时间:
2015-10-13 09:08:37
阅读次数:
236
vijosP1543 极值问题链接:https://vijos.org/p/1543【题解】(网上)从简单情况人手:设定m=1,将m代人方程②有(n2-n-1)2=1,可求出n=1;m=2,代人②,有(n2-2n-4)2=1,可求出n=3;m=3,代人②,有(n2-3n-9)2=1,可求出n=5;m...
分类:
其他好文 时间:
2015-10-12 22:29:33
阅读次数:
225
vijosP1359 Superprime链接:https://vijos.org/p/1359【思路】 搜索+数学。 很明显的搜索,依次确定每一个数,用参数sum记录dfs即可。 本题的关键在于如何快速判断大素数。 这里素数的判定用到了一个O(sqrt(n))的筛选+试除法,如下:1、 构造sqr...
分类:
其他好文 时间:
2015-10-12 17:06:08
阅读次数:
124
vijosP1447 开关灯泡链接:https://vijos.org/p/1447【思路】 数学+高精度。 分析题目:题中有言,i时刻将其所有倍数的灯熄灭,由此得知一个数有多少个倍数就会被操作多少次,因为初始全部熄灭,所以操作数为奇的灯最后会亮着,再进一步,只有序号为平方数的灯在最后会亮着。由此题...
分类:
其他好文 时间:
2015-10-12 14:05:57
阅读次数:
171
vijosP1164 曹冲养猪链接:https://vijos.org/p/1164【思路】 数学。 如果x不能满足模公式则+gcd,gcd=a的积(a互质)使加上gcd后依然满足前面的模公式。【代码】 1 #include 2 using namespace std; 3 4 int main(....
分类:
其他好文 时间:
2015-10-12 09:14:24
阅读次数:
169
题意: 必须严格按顺序执行M个步骤来生产一个产品,每一个步骤都可以在N台机器中的任何一台完成。机器i完成第j个步骤的时间为T[i][j]。把半成品从一台机器上搬到另一台机器上也需要一定的时间K。每台机器最多只能连续完成产品的L个步骤。也就是说,如果有一台机器连续完成了产品的L个步骤,下一个步骤就必....
分类:
其他好文 时间:
2015-10-09 12:05:44
阅读次数:
226
这道题看了网上好多的题解,用的都是二分图的算法,但是自己却用的是贪心加并查集的做法。二分图的做法其实我并不会,是不是很神奇。 实际上贪心的算法很好想,只要先用一个结构体维护两个人的怒气值,然后从小到大排序。再从小到大搜一遍。时间复杂度大概是(nlogn+n)总时154ms,基本上是C++中最快的了。...
分类:
其他好文 时间:
2015-09-21 19:37:03
阅读次数:
197
首先要看清题目,卒只能向右或者向下走。而不是四周转。这样的话就无解了。定义f[i][j],表示走到(i,j)这个点时的总步数。这样就写出了一个递推公式f[i][j]=f[i-1]+f[i][j-1]。因为卒是从(0,0)出发,所以f[0][0]=1,因为 f[i][j]只能从前一个状态转移过来。所以...
分类:
其他好文 时间:
2015-09-20 17:35:43
阅读次数:
117
和“过河”一样,在很久以前我也曾经尝试过做这道题,可无奈当时没有看清题目。题目上说要先找最大的,然后次之。当时纠结了好久,可惜没做出来。但是现在就很好做了,只需要用结构体把每一个花生植株记录下来,sort从大到小排序。然后枚举花生,每次枚举判断一次就好了。但是!!如果我们把题目改一下。不是先找最大的...
分类:
其他好文 时间:
2015-09-20 17:28:03
阅读次数:
142