随笔分类 -  枚举

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 紫书上的原题; "链接" 【代码】 cpp include define ll long long using namespace std; const int N = 1e5; ll m,c1,c2,v1,v2; int ma 阅读全文
posted @ 2018-02-01 11:50 AWCXV 阅读(135) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用pre[i][j]表示第i行前j列的和。 然后枚举连续座位的最左上点。 (有两种可能向右或向下k个。 则还需要处理出pre2[i][j]表示第j列前i行的和。 (都可以O(N^2)求出 然后pre[i][j+k 1] pre[ 阅读全文
posted @ 2018-02-01 01:49 AWCXV 阅读(175) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 直接暴力求出第k个perfect数字就好。 纯模拟。 【代码】 cpp include define double long double using namespace std; int n; int _judge(int x 阅读全文
posted @ 2018-02-01 01:45 AWCXV 阅读(231) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 就是让你求m (ai/bb)的最小值 【代码】 cpp include define double long double using namespace std; int n,m; int main(){ ifdef LOCA 阅读全文
posted @ 2018-02-01 01:44 AWCXV 阅读(134) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 遍历i从1..n 看看x%i==0以及x/i 【代码】 cpp include using namespace std; int main() { int n,x; cin n x; int ans = 0; for (int 阅读全文
posted @ 2018-01-29 11:37 AWCXV 阅读(82) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 O(n^2)枚举每一个区间。 然后维护这个区间里面的“统治数字"是什么。 对于每个区间cnt[统治数字]++; 【代码】 cpp include using namespace std; const int N = 5000+1 阅读全文
posted @ 2018-01-26 12:12 AWCXV 阅读(85) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举第一种方法。 剩下的全都个第二种方法。 看看能组成多少个队伍就可以了。 【代码】 cpp include define ll long long using namespace std; int n,m; int main( 阅读全文
posted @ 2018-01-25 12:00 AWCXV 阅读(116) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 让你在n的因子里面找一个最大的数字x 且x的因子全都不是完全平方数(y^2,y 1) O(sqrt(n))找出n的所有因子。 然后O(sqrt(n))处理出1..N内的所有完全平方数。 用map存 对于x,看看它的因子里面有没有 阅读全文
posted @ 2018-01-24 12:32 AWCXV 阅读(124) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举序列的头两个数字是什么 O(N^2) 然后头两个数字确定之后。 f[3],f[4]..就确定了 只需查看f[3],f[4]..是不是存在就好了。 但是这样复杂度看起来是O(N^3)的了。 其实不然,a[n] = a[n 1] 阅读全文
posted @ 2018-01-23 12:20 AWCXV 阅读(107) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 1 2 3 ... n中末尾0的个数 只会由素因子2和5的个数决定且等于 Min{cnt[2],cnt[5]} 且素因子2的个数一定会比5多; 所以n!的末尾0的个数 等于for (int i = 1;i 【代码】 cpp in 阅读全文
posted @ 2018-01-23 12:10 AWCXV 阅读(105) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 先求出c b x的所有可能 存在map里面 然后枚举y看看a y在不在map里面 在的话就有解。 这样复杂度是$O(N log_2N)$的 比直接两层循环枚举的$O(N^2)$复杂度要来的好 这种方法也叫"中途相遇法" 【代码】 阅读全文
posted @ 2018-01-23 12:05 AWCXV 阅读(119) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 记录每个数字出现的次数cnt[x]; (大于1e6的直接忽略) 另外用一个数组z[1e6] 然后for枚举x 第二层for枚举x的倍数(倍数不超过m) 即for (int i = x;i 【代码】 cpp include usi 阅读全文
posted @ 2018-01-22 14:10 AWCXV 阅读(122) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 写个前缀和 和 一个后缀和。 (即前i个字符A所代表的数字的和以及前i个字符B所代表的数字的和。。 然后枚举前i个字符翻转。 求B对应数字的最大值 枚举i..n这些字符翻转 求B对应数字的最大值 两个同时求最大值就是答案了。 【 阅读全文
posted @ 2018-01-22 14:00 AWCXV 阅读(120) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 把n分解成二进制的形式。 n=2^a0+2^a1+...+2^a[q 1] 则固定就是长度为q的序列。 要想扩展为长为k的序列。 可以把2^x转化为2^(x 1)+2^(x 1)的形式. 这样序列的长度就+1了 它要求max{a 阅读全文
posted @ 2018-01-20 09:04 AWCXV 阅读(244) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 找到任意一个环。 然后枚举删掉其中的某一条边即可。 (因为肯定要删掉这个环的,那么方法自然就是删掉其中的某一条边 (其它环,如果都包括这条边,那么就可以,否则,某个环不包括那也没办法,自然就无解了。 这样枚举的边的数目最多是50 阅读全文
posted @ 2018-01-14 09:53 AWCXV 阅读(154) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举用哪一个桶就好 【代码】 cpp include using namespace std; int n,k,x; int main(){ ifdef LOCAL_DEFINE freopen("rush_in.txt", " 阅读全文
posted @ 2018-01-14 07:17 AWCXV 阅读(122) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举1的位置在i 往右摆成一排。 a[i+1]..a[n]..a[1]..a[i 1]变为有序的 寻找循环节,每个循环节的长度 1是必要的步骤数 获取必要的步骤数,取最小值。 O(n^2) 往左排成一排 同样的方法处理就好 【代 阅读全文
posted @ 2018-01-11 15:39 AWCXV 阅读(110) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 显然中间相遇。 自己写了个hash处理一下冲突就可以了。 【代码】 cpp / 1.Shoud it use long long ? 2.Have you ever test several sample(at least th 阅读全文
posted @ 2018-01-02 19:52 AWCXV 阅读(140) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举前i 1个圆。 哪些圆和它相交。 取圆心纵坐标最大的那个圆就可以了。 【代码】 cpp include using namespace std; const int N = 1e3; vector now; int a[N+ 阅读全文
posted @ 2017-12-30 10:54 AWCXV 阅读(196) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 排列中交换任意两个数字。 排列的逆序对个数的奇偶性会发生变化。 翻转这个过程其实就是len/2对数字发生交换。 交换了偶数次的话,不变,否则奇偶性发生改变。 先暴力求出一开始的逆序对个数就好 【代码】 阅读全文
posted @ 2017-12-29 11:22 AWCXV 阅读(165) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 7 8 ··· 15 下一页