zoukankan      html  css  js  c++  java
  • 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛)

    A:

    我直接上模板了。。。然而可以切割弦定理轻易解决。

    割线乘积=切线的平方

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 int main() {
     5     int x0,y0,r,x1,y1,y2;
     6     scanf("%d%d%d%d%d%d",&x0,&y0,&r,&x1,&y1,&y2);
     7     long long a=1ll*(x0-x1)*(x0-x1)+1ll*(y0-y1)*(y0-y1);
     8     long long ans=a-1ll*r*r;
     9     printf("%lld",ans);
    10 }

    B:水题

    D:

    Cocoa想知道这个不定方程的正整数解和非负整数解各有几个。

    隔板问题:

    正整数解:分成n个1,然后插板,共C(m-1,n-1)个,

    非负整数解:每个数加1,然后插板,共C(n+m-1,m-1)个

    注意溢出,还有就是递推求阶乘记得  f[0]=1。

    还有就是逆元和取模了。

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 const int maxn=3000010;
     4 const int mod=1e9+7;
     5 typedef long long ll;
     6 
     7 ll f[maxn];
     8 ll my_pow(ll a,ll b,ll mod) {
     9     ll ans=1;
    10     ll tmp=a%mod;
    11     while(b) {
    12         if(b&1) ans=(ans*tmp)%mod;
    13         tmp=(tmp*tmp)%mod;
    14         b>>=1;
    15     }
    16     return ans;
    17 }
    18 
    19 int main() {
    20     int m,n;
    21     scanf("%d%d",&m,&n);
    22     f[0]=1;
    23     for(int i=1;i<=n*2;i++) f[i]=(f[i-1]*i)%mod;
    24     printf("%d " ,(((f[n-1]*my_pow(f[m-1],mod-2,mod))%mod)*my_pow(f[n-m],mod-2,mod))%mod);
    25     printf("%d",(((f[n+m-1]*my_pow(f[m-1],mod-2,mod))%mod)*my_pow(f[n],mod-2,mod))%mod);
    26 }

    F:

    根据题意和期望定义。直接求lL-R区间和,就可以了。

    可能是太依靠模板,直接上的线段树,没写前缀和。。。

  • 相关阅读:
    诊断Oracle 服从成绩
    联机热备份失踪败后,怎样翻开数据库?
    Oracle 8.0.4 for Windows NT的装配
    Oracle常用数据字典
    怎样快速查出Oracle数据库中的锁等待
    Oracle不凡包
    Developer/2000 R2.1 中文版 在 Windows NT 上的安置
    Oracle中巧用FORMS_DDL
    Oracle 基本常识
    autorun的执行的命令行
  • 原文地址:https://www.cnblogs.com/ACMerszl/p/10685761.html
Copyright © 2011-2022 走看看