合肥学院第二届卓越IT-程序设计大赛E+J

E链接
小飞有nn的魔法纸片(可以变出糖果), 现在有m个人来找小飞玩游戏, 小飞希望用魔法纸片来使朋友们开心,纸片可以被随便裁剪,nn的魔法纸片可以裁剪成任意大小的小魔法纸片,小飞通过pubgoso得知,ij尺寸的纸片可以产生(ii+jj)个糖果。小飞希望裁剪的纸片可以让每个朋友分到一样多的糖果,这样他的朋友们就会很开 心,小飞希望知道有多少种合理的裁剪方法使得每个朋友都开心呢?请帮他回答这个问题。

分析一下题意可以得到题目要求的是满足下面这个 公式的不同的i,j的方案数 ( i 2 + j 2 ) m o d &ThinSpace;&ThinSpace; <mtext>   </mtext> m = 0 <mtext>   </mtext> ( n <mtext>   </mtext> <mtext>   </mtext> i , j <mtext>   </mtext> n ) (i^2+j^2)\mod \ m =0\ ( n\ \leq\ i,j\leq \ n) (i2+j2)mod m=0 (n  i,j n)
代码如下

#include <bits/stdc++.h>
using namespace std;
#define LL long long
LL powmod(LL a,LL b,LL MOD)
{
  LL ans=1;
  while(b)
  {
    if(b%2)ans=ans*a%MOD;
    a=a*a%MOD;
    b/=2;
  }
  return ans;
}
int main(){
    LL n,m;
    cin>>n>>m;
    LL ans=0;
    for(LL i=0;i<m;i++){
        for(LL j=0;j<m;j++){
            if((i*i+j*j)%m==0&&i<=n&&j<=n){
                LL a=(n-i)/m+1,b=(n-j)/m+1;
                if(i==0)a--;
                if(j==0)b--;
                ans+=a*b;
            }
        }
    }
    cout<<ans<<endl;
    return 0;
}

J链接
看完题目就知道了,是E的升级版,思路一样

#include <set>
#include <map>
#include <queue>
#include <stack>
#include <math.h>
#include <bitset>
#include <vector>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <iostream>
#include <algorithm>
#define MAXN 1010100
#define LL long long
#define fi first
#define se second
#define mp make_pair
#define pb push_back
#define ll __int64
#define INF 0x7fffffff
#define cs(s) freopen(s,"r",stdin)
#define mem(x) memset(x,0,sizeof(x))
#define PI acos(-1)
#define eps 1e-10
using namespace std;
int gcd(int a,int b){return b?gcd(b,a%b):a;}
int lcm(int a,int b){return a/gcd(a,b)*b;}
LL powmod(LL a,LL b,LL MOD){LL ans=1;while(b){if(b%2)ans=ans*a%MOD;a=a*a%MOD;b/=2;}return ans;}
//head
const LL mod=1e8+7;
int main(){
    ios::sync_with_stdio(false);
    int n;
    LL m,t,pp=1e18;
    for(cin>>t;t;t--){
        cin>>n>>m;
        LL ans=0;
        for(int i=0;i<m;i++){
            for(int j=0;j<m;j++){
                for(int k=0;k<m;k++){
                    LL mid=1;
                    int flag=0;
                    if((1ll*i*i+1ll*j*j*j+1ll*k*k*k*k)%m==0){
                        if(i<=n)mid=mid*((n-i)/m+(i==0?0:1))%mod,flag=1;
                        if(j<=n)mid=mid*((n-j)/m+(j==0?0:1))%mod,flag=1;
                        if(k<=n)mid=mid*((n-k)/m+(k==0?0:1))%mod,flag=1;
                        if(flag)ans=(ans+mid)%mod;
                    }
                }
            }
        }
        cout<<ans%mod<<endl;
    }
    return 0;
}
全部评论

相关推荐

我已急😭:这科软不就是可以拿钱买吗?我记得那一年一个学校买狠了,数学排名比北大高。
点赞 评论 收藏
分享
05-12 10:10
已编辑
门头沟学院 人工智能
写这篇之前我犹豫了挺久。一方面是怕被人骂,&quot;又一个收割焦虑的转行帖&quot;;另一方面是看了太多用&nbsp;GPT&nbsp;套娃出来的「学习路线」文章,AI&nbsp;味重得让人没法读完。所以这篇全是亲身踩过的坑,时间线、用过的项目、当时的心路全都尽量原样写出来。如果你是大学生在迷茫要不要转&nbsp;AI,或者已经在转的路上,希望能给点参考。&nbsp;一个反共识的开场:你以为进&nbsp;OpenAI&nbsp;的人都是博士?&nbsp;先讲个故事,跟我没关系,但跟所有想转&nbsp;AI&nbsp;的人都有关系。&nbsp;OpenAI&nbsp;的&nbsp;Sora&nbsp;团队(就是搞文生视频那个)一共&nbsp;13&nbsp;个人。这里面有两个人特别有意思:&nbsp;Will&nbsp;DePue,密歇根大学计算机系,直接辍学了。17...
_hengheng:我也本,也算是做ai相关,我最开始感觉做ai工程师有多么多么困难,后来发现懂了原理后整体训练完全可以看成一个流程化的内容,开源方案太多了,大多基本都是按着模子在自家业务上做各种操作,就算是大厂的小部门也没那么多资源去训基模,反而更多的是像怎么把技术往业务方向靠近了,不过当前时代如果本科学历没那么好加上自己执行力不是特别强还真不建议走ai工程师这条路,可以试试其他ai的偏业务方向,不然校招不太好杀出来
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务