T1:通过暴力找规律发现如果输入的数是2的k次方,就输出YES,否则输出NO。
T2:把所有数从小到大排序,然后把相邻两个数的差存到一个数组里,再把这个数组从小到大排序,答案就是这个数组的前k个数的和。
T3:一开始用暴力,发现会超时。然后在暴力的基础上想到dp。
先求出n的因数,然后把所有的因数按从小到大存到一个数组里,设这个数组为a。
设f[i][j]表示前i个数选了j个数,第i个数必选的方案数,然后我们用一个k从i-1往前搜,设第k个数选,而从k+1到i-1都不选,在f[k][j-1]>0的前提下,f[i][j]=f[i][j]+f[k][j-1],最后的ans就是在j最大的前提下的j-1,f[t][j](t表示因数的个数)。初始值为f[1][1]=1。
T4:zzx教了我一个水法。
设第一个字符串为a串,第二个字符串为b串。
1、把b串倒过来。
2、找出a串中连续两个字符与b串中连续两个字符相同的个数,每找到一个ans就乘2。
本文介绍了四道算法题目的解决思路,包括判断2的幂、排序与求和、动态规划求因数组合及字符串匹配计数等问题,展示了不同场景下算法的应用。
3461

被折叠的 条评论
为什么被折叠?



