zoukankan      html  css  js  c++  java
  • wangkoala杂题总集(根据个人进度选更)

    CQOI2014 数三角形

    首先一看题,先容斥一波,求出网格内选三个点所有的情况,也就是Cn*m3;然后抛出行里三点共线的方案数:C(n3)*m;

    同理就有列中三点共线的方案数:n*C(m3)

    还要刨去对角线的方案数,由于gcdij-1就是这条线((ij)与原点的连线)的方案数,然后这样的线斜着因为方向不同就要*2 然后这样的线在整个网格中总共有(m-j+1)*(n-i+1)种所以求出公式C(n*m,3)-n*C(m,3)-m*C(n,3)-∑(m-j+1)*(n-i+1)*(gcd(i,j)-1)*2,完结!

     1 #include<iostream>
     2 #include<cmath>
     3 #include<cstring>
     4 #include<cmath>
     5 #include<cstdio>
     6 #define LL long long
     7 using namespace std;
     8 LL n,m,ans;
     9 LL gcd(LL x,LL y){return y==0?x:gcd(y,x%y);}
    10 int main()
    11 {
    12     scanf("%lld %lld",&n,&m);
    13     n++,m++;
    14     for(int i=1;i<=n;i++)
    15         for(int j=1;j<=m;j++)
    16         {
    17             ans+=(n-i)*(m-j)*(gcd(i,j)-1)*2;
    18             //cout<<i<<" "<<j<<" "<<(n-i+1)*(m-j+1)*(gcd(i,j)-1)*2<<endl;
    19         }
    20     LL q=n*m;
    21     if(q<=2){printf("0
    ");return 0;}
    22     LL C=q*(q-1)*(q-2)/6;
    23     C-=n*(n-1)*(n-2)/6*m;
    24     C-=m*(m-1)*(m-2)/6*n;
    25     printf("%lld
    ",C-ans);
    26     return 0;
    27 }
    A数三角形

    T2方

    这道题做的我整个人都方了,然后,我到现在都没有过这道题,因为我的程序使用了太多的stl,然后躺尸,TLE没办法,本人也很想写这道题的题解,本人对着道题的领会也很深刻,但是没有AC,整个人都没有底气,所以我的博客里就先挖个坑,这个坑也是以后要填的,没事,终究会AC的!

    (本杂题集根据个人进度选更!)

  • 相关阅读:
    eclipse 直接向cloudfoundry部署应用
    jenkins slave节点服务 之 标签
    cloud foundry 中 url map/unmap
    公司Oracle生产库某用户中毒【AfterConnect.sql】
    怎样在 Linux 上查看某个端口的相关信息?
    怎样修改 VS Code 主题?
    怎样安装并编译TypeScript?
    怎样坚持写博客?
    第一个shell脚本
    python处理excel之读:xlrd模块
  • 原文地址:https://www.cnblogs.com/hzoi-lsc/p/11234649.html
Copyright © 2011-2022 走看看