• [BZOJ2321,LuoguP1861]星(之)器


    丧心病狂的神仙题

    丧心病狂的神仙题

    丧心病狂的神仙题

    显然,不管你怎么移动,答案都是一定的

    然后我们很快能联系到物理里面的能量守恒,于是自然地我们要给每个点搞一个势能出来

    然后把势能的表达式写出来就可以做了呀

    Tip:划掉的黑色字表示我根本不知道为什么

    大佬们说势能的表达式是这样的

    E=$frac{x^2+y^2}{2}$

    虽然我不知道是怎么出来的,但是怎么验证我倒是知道...如果有大佬知道怎么做可以评论给我吧

    $E_{0}=frac{{x0}^2+{y0}^2+{x1}^2+{y1}^2}{2}$

    $E_{1}=frac{{(x0-1)}^2+{y0}^2+{(x1+1)}^2+{y1}^2}{2}$

    $Delta{E}=x1-x0$

    得证

    然后贴个代码:

     

     1 #include<cstdio>
     2 #include<queue>
     3 #include<iostream>
     4 #include<cstring>
     5 #define int long long
     6 using namespace std;
     7 inline int read(){
     8     int ans=0,f=1;char chr=getchar();
     9     while(!isdigit(chr)){if(chr=='-') f=-1;chr=getchar();}
    10     while(isdigit(chr)){ans=(ans<<3)+(ans<<1)+chr-48;chr=getchar();}
    11     return ans*f;
    12 }int n=read(),m=read(),a[1005][1005],ans;
    13 signed main(){
    14     for(int i=1;i<=n;i++)
    15         for(int j=1;j<=m;j++) a[i][j]=read();
    16     for(int i=1;i<=n;i++)
    17         for(int j=1;j<=m;j++){
    18             int x=read();
    19             ans+=(a[i][j]-x)*(i*i+j*j);
    20         }ans>>=1;cout<<ans;
    21     return 0;
    22 }

     

     

  • 相关阅读:
    NestingQuery
    Repeat
    GenericQuery
    StringOpr
    RHEL5.6 安装 virtualbox
    DNS的资料总结
    drop delete truncate 区别
    Linux Shell命令ulimit的用法
    OSI及TCP/IP的概念和区别
    shell:读取文件的每一行内容并输出
  • 原文地址:https://www.cnblogs.com/zhenglw/p/10531937.html
Copyright © 2020-2023  润新知