zoukankan      html  css  js  c++  java
  • 题解:luoguP1861 星之器

    为什么全世界都说这是个物理题,不应该是一个数学题吗,神犇的势能完全看不懂

    我们直接来看题,对于一个点,在计算时候横坐标和纵坐标互不影响,所以我们分开考虑。

    我们记两个点假如横坐标相同,分别记纵坐标为a,b
    于是,收益就是$b-a-1$

    然后用 当年写大视野鬼畜的思想 来化一下式子,我们可以得到

    $$b-a-1=(2*b-2*a-2)/2$$

    $$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~=[a^2+b^2-(b-1)^2-(a+1)^2]/2$$

    由于分开算非常不方便,我们取的又是最大值,所以,直接合起来计算

    然后代码就是非常简单的了

    势能是什么,能量守恒是什么

    代码如下:

    #include <algorithm>
    #include <iostream>
    #include <cstring>
    #include <cstdio>
    #include <queue>
    using namespace std;
    
    #define ll long long
    #define re register
    #define gc getchar()
    inline int read()
    {
        re int x(0);re char ch(gc);
        while(ch<'0'||ch>'9') ch=gc;
        while(ch>='0'&&ch<='9') x=(x*10)+(ch^48),ch=gc;
        return x;
    }
    
    ll ans;
    int n,m;
    
    int main() 
    {
        freopen("casket.in","r",stdin);
        freopen("casket.out","w",stdout);
        n=read(); m=read();
        for(int i=1;i<=n;++i)
            for(int j=1;j<=m;++j)
                ans+=(1LL*i*i+1ll*j*j)*read();
        for(int i=1;i<=n;++i)
            for(int j=1;j<=m;++j)
                ans-=(1LL*i*i+1LL*j*j)*read();
        cout<<(ans/2)<<endl;
        return 0;
    }
    

      

    所以那些神仙题解的思路都是,先设出势能为$a(i,j)=i^2+j^2$ (怎么想的

    然后由于是末态减初态联想势能分析+能量守恒,然后就没了(黑人问号脸)

  • 相关阅读:
    并发编程知识点剖析
    JavaScript 实现留言框
    JavaScript 实现简单的 弹出框关闭框
    网络编程知识点剖析
    css清除浮动的方法
    css盒模型
    CSS的继承性和层叠性
    转载《ionic 热更新 cordova-hot-code-push》
    转《js闭包与内存泄漏》
    前端存储loaclForage
  • 原文地址:https://www.cnblogs.com/zijinjun/p/10648528.html
Copyright © 2011-2022 走看看