codeforces 111B/112D Petya and Divisors】的更多相关文章

题目:Petya and Divisors传送门: http://codeforces.com/problemset/problem/111/B http://codeforces.com/problemset/problem/112/D 分析: 很容易想到读入x[i].y[i],寻找x[i]的因数,判断一下是不是x[i-y[i]].x[i-y[i]+1]...x[i-1]的某个数因数:但这样会超时:考虑以下两个优化:(1)寻找x[i]因数时循环范围只需要从j∈[0,sqrt(x[i])],但循…
B. Petya and Divisors Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/111/problem/B Description Little Petya loves looking for numbers' divisors. One day Petya came across the following problem: You are given n queries in t…
Codeforce 111 B. Petya and Divisors 解析(思維) 今天我們來看看CF111B 題目連結 題目 略,請看原題 前言 看了別人的解答就豁然開朗 @copyright petjelinux 版權所有 觀看更多正版原始文章請至petjelinux的blog 想法 因為如果真的每個數字都檢查一遍,複雜度會輕鬆超越\(O(n^2)\),因此會想到要對\(i\)前面的\(index\)做一些預處理.但是如果儲存\(1\sim i-1\)的\(x\)的\(l.c.m.\),數…
找每个数的约数(暴力就够了...1~x^0.5)....看这约数的倍数最后是哪个数...若距离大于了y..统计++...然后将这个约数的最后倍数赋值为当前位置...好叼的想法题.... Program: #include<iostream> #include<stack> #include<queue> #include<stdio.h> #include<algorithm> #include<string.h> #include&…
F. Four Divisors 题目连接: http://www.codeforces.com/contest/665/problem/F Description If an integer a is divisible by another integer b, then b is called the divisor of a. For example: 12 has positive 6 divisors. They are 1, 2, 3, 4, 6 and 12. Let's def…
题目: Petya and Spiders传送门: http://codeforces.com/problemset/problem/111/C http://codeforces.com/problemset/problem/112/E分析:(1)由n·m<=40可以想到状态压缩动态规划,方程很好想,用四进制表示状态,用位运算优化.(2)由n·m<=40可以想到分类构造公式.代码: 1) #include<cstdio> #include<algorithm> #de…
题目:Petya and Inequiations传送门: http://codeforces.com/problemset/problem/111/A http://codeforces.com/problemset/problem/112/C 分析: 先引一个简单的结论:“(a+b)^2>=a^2+b^2”,可得一个简单的贪心:让其中一个数越大越好:再从“a[1] + a[2] + ... + a[n] <= y”入手:让a[1]越大越好,a[2].a[3]...a[n]都为1:如果这种构…
Codeforces 111 C 题意:给\(n\times m\)的网格,每个点上有一个蜘蛛,每个蜘蛛可以向上.下.左.右走一步或者不动,问最多能存在多少没有蜘蛛的点. 思路1: 首先因为\(n\)和\(m\)中小的那个不可能超过\(6\),所以钦定\(m < n\)(因为如果\(n\)和\(m\)互换不影响答案). 然后就可以考虑状压\(dp\)了. 首先我们看\((x,y)\)这个点上面可爱的小蜘蛛的去向.它可能会往上走,到\((x-1,y)\):也可能向下走,到\((x+1,y)\):也…
G - Petya and Graph 思路: 最大权闭合子图 对于每条边,如果它选了,那么它连的的两个点也要选 边权为正,点权为负,那么就是求最大权闭合子图 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pi ac…
题目链接:https://codeforces.com/contest/978/problem/G 题目大意:n天m门考试,每门考试给定三个条件,分别为:1.可以开始复习的日期.2.考试日期.3.必须要复习的时间.根据以上条件,给出每天的安排,每天可以做三件事:1.考试.2.复习.3.休息 题解:先假设每天都在休息,然后依次填东西,策略是最先考试的最先复习 AC代码: #include<cstdio> #include<cstring> #include<algorithm&…