码迷,mamicode.com
首页 > 其他好文 > 详细

51Nod 1024 矩阵中不重复的元素 | 技巧 数学

时间:2017-09-02 09:36:54      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:i++   ima   main   include   try   memset   efi   int   scanf   

 

技术分享

技术分享

 

 

first try:

set<LL> sset;
int main()
{
    LL m,n,a,b;
    while(~scanf("%lld%lld%lld%lld",&m,&n,&a,&b)){
        LL tt;
        for(int i=0;i<n;i++){
            tt=a;
            for(int j=0;j<m;j++){
                sset.insert((LL)pow((tt++),b));
            }
            b++;
        }
        printf("%d\n",sset.size());

    }
    return 0;
}

wrong

second try:

数非常大,考虑将数缩小,因为他是指数的,所以我们可以取一个对数

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define rep(i,a,n) for(int i = a; i < n; i++)
#define repe(i,a,n) for(int i = a; i <= n; i++)
#define per(i,n,a) for(int i = n; i >= a; i--)
#define clc(a,b) memset(a,b,sizeof(a))
#define INF 1e18+100
#define N 110
typedef long long LL;

set <double> s;
int main()
{
    int m, n, a, b;
    while(cin>>m>>n>>a>>b)
    {
        s.clear();
        for(int i=a; i<a+n; i++)
        {
            for(int j=b; j<b+m; j++)
            {
                s.insert(1.0*j*log2(1.0*i));
            }
        }
        cout<<s.size()<<endl;
    }
    return 0;
}

 

51Nod 1024 矩阵中不重复的元素 | 技巧 数学

标签:i++   ima   main   include   try   memset   efi   int   scanf   

原文地址:http://www.cnblogs.com/kimsimple/p/7465704.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!