怎样看网站是什么语言做的,网站模板是什么意思,wordpress 编辑图片无法显示,收费小说网站怎么做题目#xff1a; 解题思路#xff1a;看到题目的时候#xff0c;一般第1反应是用两个循环暴力解题#xff0c;时间复杂度是O(n^2)#xff0c;不能通过#xff0c;所以要优化#xff0c;通过找规律。 一、当 y k 时#xff0c; 不可能符合题意#xff0c;所以 y 从…题目 解题思路看到题目的时候一般第1反应是用两个循环暴力解题时间复杂度是O(n^2)不能通过所以要优化通过找规律。 一、当 y k 时 不可能符合题意所以 y 从 k1 开始遍历 (下面二、三是在y固定的情况下讨论) 二、当 x 属于区间 [0, y) 时有 y-k 个可能的数对 三、可以算出有 n/y 个完整的区间所以有(n / y) * (y - k) 个可能 四、看剩余区间如果 n%y k 则不可能有符合的情况 如果前式大于等于k有n%y-(k-1)个可能。 五、把所有可能加起来就是y固定时的所有情况遍历y循环然后加起来就可以了。 式子(n / y) * (y - k) ((n%y k)?0:n%y-(k-1)); 详解 k0时的讨论 #include iostream
using namespace std;int main() {long long n 0, k 0;cin n k;long long count 0;// if(k 0)// {// cout n*n;// return 0;// }//k 0 上面下面两个都可以上面的更简单if(k 0){for(int y k1; y n; y){count (n / y) * (y - k) ((n % y k)?0:(n % y) - k);}cout count;return 0;}for(int y k1; y n; y){count (n / y) * (y - k) ((n % y k)?0:(n % y) - (k - 1));}cout count;return 0;
}