摘要:#pragma GCC optimize ("O3") #pragma GCC optimize ("O2") #pragma GCC optimize ("O1") #include <bits/stdc++.h> typedef long long ll; typedef unsigned lo
阅读全文
摘要:题面 思路:(a+b)/k=a/k+b/k,所以总和可以先用对每一个数字除k加起来 部分数字不是k的倍数,但两两配合后是k倍数,这样相当于我们损失了一个cnt,所以最后我们要找出有多少个这样的配对,最后答案加上配置数量即可
阅读全文
摘要:思路:一眼贪.jpg 不过讨论贪心的情况太多了就得考虑自己的思路是否错了,一些trick自己想不到还是得自己多做题积累 对于能够组成桌子的情况,分为abc和abb两种,桌子分得最多就代表着剩余的差值最少(对于大部分贪心问题而言,题目给出的条件到最后一般都为另一种条件的体现,如何正确地理解问题本质是解
阅读全文
摘要:B 思路:结论题,如果点是奇数,这个点只能为1 否则等于中间最短点之间的差值+1 #include<stdio.h> #include<math.h> #include<string.h> #include<ctype.h> #include<iostream> #include<algorithm
阅读全文
摘要:题意:由1到N个节点组成一个环,从节点1开始,每隔k个节点有一个餐馆(1也有餐馆) 现给出4个数据n,k,a,b n为餐馆的数量,k为餐馆之间的间隔距离,a为起始位置距离最近餐馆的距离,b为走了一步(步数未知)后距离最近餐馆的距离 思路:这题的未知数是每步所走路径l,我们可以把它先设为未知量l 对于
阅读全文
摘要:思路:见代码注释 #pragma GCC optimize(2) #pragma GCC optimize(1) #include<bits/stdc++.h> typedef long long ll; typedef unsigned long long ull; const ull base=
阅读全文
摘要:思路:首先讨论点的度数,整个点的度数应该都是偶数的(每条边贡献两度),那就意味这奇数点的个数是偶数 所以奇数点的个数是奇数的直接输出NO 接下来则讨论如何构造不存在交叉边的图 对于这样一个图 要构造所有边都尽量不相邻的方法是 即一个类似树的结构,我们很自然会想到构建一个树 为了保证偶数点的的度为偶数
阅读全文
摘要:思路:我们很容易想到先筛去回文数,然后就变成完全背包求方案数裸题了 #include<vector> #include<iostream> #include<string> #include<algorithm> using namespace std; int main() { vector<in
阅读全文