摘要: 题意:给n和k,要求构造一个长度为k的序列,要求这个长度为k的序列之和为n,且这k个数的gcd取到max。假设gcd为m,则m*(a1+a2+a3+....+ak)=n(由此可以知道m也是n的约数),题目要求... 阅读全文
posted @ 2018-08-19 22:51 eason99 阅读(85) 评论(0) 推荐(0)
摘要: 题意:给n和k,要求构造一个长度为k的序列,要求这个长度为k的序列之和为n,且这k个数的gcd取到max。假设gcd为m,则m*(a1+a2+a3+....+ak)=n(由此可以知道m也是n的约数),题目要求... 阅读全文
posted @ 2018-08-19 22:51 eason99 阅读(91) 评论(0) 推荐(0)
摘要: http://codeforces.com/contest/1027/problem/B#includeusing namespace std;int main(){ long long n,q; ... 阅读全文
posted @ 2018-08-19 20:59 eason99 阅读(82) 评论(0) 推荐(0)
摘要: http://codeforces.com/contest/1027/problem/B#includeusing namespace std;int main(){ long long n,q; ... 阅读全文
posted @ 2018-08-19 20:59 eason99 阅读(91) 评论(0) 推荐(0)
摘要: 传送门 这题我写了好几天终于懂了,果然还是太菜了。 由题目给的样例可以看出,这个相交线的对数就是数第一行里每个数右边(左右都数会重复)有多少个数,在第二行里在该数的左边出现了,然后这样就可以转化为用逆序对... 阅读全文
posted @ 2018-08-19 20:17 eason99 阅读(120) 评论(0) 推荐(0)
摘要: 传送门 这题我写了好几天终于懂了,果然还是太菜了。 由题目给的样例可以看出,这个相交线的对数就是数第一行里每个数右边(左右都数会重复)有多少个数,在第二行里在该数的左边出现了,然后这样就可以转化为用逆序对... 阅读全文
posted @ 2018-08-19 20:17 eason99 阅读(225) 评论(0) 推荐(0)
摘要: #include#include#includeusing namespace std;#define maxn 100int V,E,res,father[maxn];struct edge{ int u... 阅读全文
posted @ 2018-08-19 19:13 eason99 阅读(109) 评论(0) 推荐(0)
摘要: #include#include#includeusing namespace std;#define maxn 100int V,E,res,father[maxn];struct edge{ int u... 阅读全文
posted @ 2018-08-19 19:13 eason99 阅读(81) 评论(0) 推荐(0)
摘要: 先求出原序列,然后桶排序,直接查询即可,sort排序复杂度是n*logn会超时,桶排序是n。还有一秒是跑1e8#includeusing namespace std;const int maxn=3e7+10... 阅读全文
posted @ 2018-08-19 18:44 eason99 阅读(57) 评论(0) 推荐(0)
摘要: 先求出原序列,然后桶排序,直接查询即可,sort排序复杂度是n*logn会超时,桶排序是n。还有一秒是跑1e8#includeusing namespace std;const int maxn=3e7+10... 阅读全文
posted @ 2018-08-19 18:44 eason99 阅读(54) 评论(0) 推荐(0)
摘要: 题目意思是给你一个主串和一个子串,然后要求你在子串的所有前缀串里找到一个最长的串,满足在主串里至少出现了ti次。做法就是求出a串和b串的hash值,然后二分b串的长度就行了。#include//二分+hash... 阅读全文
posted @ 2018-08-19 17:26 eason99 阅读(93) 评论(0) 推荐(0)
摘要: 题目意思是给你一个主串和一个子串,然后要求你在子串的所有前缀串里找到一个最长的串,满足在主串里至少出现了ti次。做法就是求出a串和b串的hash值,然后二分b串的长度就行了。#include//二分+hash... 阅读全文
posted @ 2018-08-19 17:26 eason99 阅读(86) 评论(0) 推荐(0)