PE的一些水 3-50

T3:

  分解质因数.

  lalala

T4:

  暴模.

  然而数学方法怎么搞?---->也就是怎么手算?...

  于是看了一下讨论区...发现原来我的数学已经低于小学生水平了...

  我们把答案abccba拆成100001a+10010b+1100c,然后它是11的倍数. 我们先撂在这

  然后考虑我们的乘数,因为答案最大显然9开头,那么两个乘数末尾组合只能是(1,9),(3,3),(7,7)

  我们可以枚举出900-1000中11的倍数,发现末尾是1,3,7,9 的只有913,957,979

  然后后面就懒得写了...贴大神的过程...

  So now the presumed answer is either:

  (900 + 10 + 3)(900 + 10x + 3)

  (900 + 50 + 7)(900 + 10x + 7)

  (900 + 70 + 9)(900 + 10x + 1)

  Factoring all those out, you get: 810000 + 9000x + 2700 + 9000 + 100x + 30 + 2700 + 30x + 9 824439 + 9130x Now, for the first digit 824439 + 9130x to be 9, x must be 9 (if x were 8, then 824439 + 9130x = 897479, and the first digit is 8)

   And so you have 913 * 993, which is the answer. You can factor the others out to see if they produce a bigger answer, which they don't.

PE-5

  题意:

    求能被1~20的每个数都整除的最小值。

  SOL:

    拓展到任意n的情况,就把他以内质数都筛出来,然后找到小于n的最大的幂,累乘即可.

PE-6

  题意:

    求“100的和的平方”与“100的平方和”的差。

  SOL:

    暴模...

    或者手算,复习一下平方和的公式(还不会用latex...) balabala=n * (n+1) * (2n+1) * 1/6

   \[ \sum_{i=1}^n i^2 = \frac{n\times(n+1)\times(2n+1)}{6} \]

PE-7

  求第10001个素数

  第一道线筛...我真是弱...

  

/*=================================================================
# Created time: 2016-03-24 18:29
# Filename: 7.cpp
# Description: 
=================================================================*/
#define me AcrossTheSky 
#include <cstdio> 
#include <cmath> 
#include <ctime> 
#include <string> 
#include <cstring> 
#include <cstdlib> 
#include <iostream> 
#include <algorithm> 
  
#include <set> 
#include <map> 
#include <stack> 
#include <queue> 
#include <vector> 
 
#define lowbit(x) (x)&(-x) 
#define FOR(i,a,b) for((i)=(a);(i)<=(b);(i)++) 
#define FORP(i,a,b) for(int i=(a);i<=(b);i++) 
#define FORM(i,a,b) for(int i=(a);i>=(b);i--) 
#define ls(a,b) (((a)+(b)) << 1) 
#define rs(a,b) (((a)+(b)) >> 1) 
#define getlc(a) ch[(a)][0] 
#define getrc(a) ch[(a)][1] 
 
#define maxn 100000 
#define maxm 100000 
#define pi 3.1415926535898 
#define _e 2.718281828459 
#define INF 1070000000 
using namespace std; 
typedef long long ll; 
typedef unsigned long long ull; 
 
template<class T> inline 
void read(T& num) { 
    bool start=false,neg=false; 
    char c; 
    num=0; 
    while((c=getchar())!=EOF) { 
        if(c=='-') start=neg=true; 
        else if(c>='0' && c<='9') { 
            start=true; 
            num=num*10+c-'0'; 
        } else if(start) break; 
    } 
    if(neg) num=-num; 
} 
/*==================split line==================*/ 
int prime[maxn];
bool a[100000000];
int main(){
	ll i=2,sum=0;
	for(;;i++){
		if (!a[i]) prime[++sum]=i;
		if (sum==10001) break;
		for (ll j=1;j<=sum && i*prime[j]<100000000;j++){
			a[i*prime[j]]=true;
			if (i%prime[j]==0) break;
		}
	}
	printf("%d\n",prime[10001]);
}

 PE-8

  不知道什么乱七八糟的...过过过...

PE-9

  题意:

    找到满足a+b+c=1000的毕达哥拉斯三元组,并求三元组的乘积。

  SOL:

    暴模...

    可以动用一切关系来减少运行时间...

PE-10

  改一改线筛...

PE-11

  暴模不写了,腊鸡

PE-12

  题意:

    求使n*(n+1)/2 有500个因数的最小n.

  SOL:

    可以暴模...唯一分解定理什么的...有没有更快做法呢...

PE-13

  奇奇怪怪的题

PE-14 

  记忆化?或者叫DP什么的...出这种题我也是十分惊讶...

PE-15

  丝帛组合题.

PE-16

  求2^1000各个位上数字之和.

  除了高精度真的没别的了吗?...

PE-17

  乱搞题...直接抄答案...

  分段打表真是兹瓷.

PE-18

  DP...

PE-19

  我怎么有点坚持不下去了...各种乱搞题...梦回初中启蒙时...

PE-20

  真的只是高精度吗....

PE-21

  继续乱搞...

PE-22

  暴模

  复习一下约数个数和的公式

  f(n)=(p1^0+p1^1+p1^2+…p1^a1)(p2^0+p2^1+p2^2+…p2^a2)…(pk^0+pk^1+pk^2+…pk^ak)

PE-23

  暴模

PE-24

  暴模  

PE-25

  题意:

    求第一个有1000位的fibonacci数.

    复习一下通项公式

 
 

PE-26

  暴模.

PE-27

  暴枚.

PE-28  

  有点像noip普及那年的T3...

  右上的对角线的值是能确定的,然后相同行相同列也能确定了.

PE-29

  题意:

    2-100的数的1-100次方一共有多少个不同的数

  暴模套个set...

  感觉可以找个幂,只有幂会重复,然后容斥减一减...就是有点麻烦...

PE-30

  暴枚...

PE-31

  丝帛DP

PE-32

  枚举乘数判断一下

PE-33

  乱搞,暴模

PE-34

  可以搞个组合,然后暴模

PE-35

  预处理一下暴枚

PE-36  

  暴枚

PE-37

  暴枚

PE-38

  暴模

PE-39

  暴枚

PE-40

  暴模

PE-41

  暴枚

PE-42

  暴枚

PE-43

  全排列

PE-44

  暴模真的好吗...感觉数学方法完全没有前途...难道式子列错了?...

PE-45

  暴模..吐血

PE-46

  暴模,吐血

PE-47

  暴模

PE-48

  快速幂

PE-49 & 50

  模模模模到吐血

posted @ 2016-03-25 09:20  YCuangWhen  阅读(257)  评论(0编辑  收藏  举报