SRM 542 DIV2

php中文网
发布: 2016-06-07 15:15:28
原创
1610人浏览过

一道DIV2里面500pt的题目想了3天还是没有想出来,这是什么水平。。。。太菜了,弱爆了,该怎么办呢?怎么样才能成为高手呢? 250pt: 题意:题意很简单,就是说兔子之间的合作问题,每对兔子间有个权,最后求平均。 思路:水题,求出兔子的总对数和权总和,

 一道div2里面500pt的题目想了3天还是没有想出来,这是什么水平。。。。太菜了,弱爆了,该怎么办呢?怎么样才能成为高手呢?

250pt:

题意:题意很简单,就是说兔子之间的合作问题,每对兔子间有个权值,最后求平均值。

思路:水题,求出兔子的总对数和权值总和,再除就可以了,没什么技术含量。代码就不贴了。


500pt:

题意:

Galileo AI
Galileo AI

AI生成可编辑的UI界面

Galileo AI 44
查看详情 Galileo AI

给一个X*Y的矩阵,规定矩阵里面的两点(x1,y1)和(x2,y2)之间的距离为|x1-x2|+|y1-y2|,给出你一个三角形的最小周长和最大周长,求这个周长范围内的三角形有多少个。要求:三角形的三个点的坐标必须是整点坐标,且三个点的横坐标不能有相同,纵坐标不能有相同。

思路:因为是绝对值,容易知道,其实三角形的周长就是一个矩形的周长。然后从矩形考虑,三角形的三个点必定可以在一个矩形上,有两种情况。一种是有一个顶点在矩形顶点上,另外两个顶点在矩形边上,顶点有四种情况,故可形成4个三角形;另一种情况是两个顶点矩形在对角线上,另外一个顶点在矩形内部,这样可以形成2个三角形。一个x*y的矩形可以形成6*(x-1)*(y-1)个三角形,一个X*Y的矩形可以形成(X-x)*(Y-y)个矩形,所以共可以构成6*(x-1)*(y-1)*(X-x)*(Y-y)个三角形。

有了这样的思路后,就容易多了,枚举就行了,计算过程中注意取余,因为会溢出。

代码:

long long mod = 1000000007;
int n,m;
class PatrolRoute
{
        public:
        int countRoutes(int X, int Y, int minT, int maxT)
        {
            int i,j,k;
            long long total = 0;
            for(int ix = 2;ix < X;ix++)
            {
                for(int iy = 2;iy < Y;iy++)
                {
                    int len = 2*(ix+iy);
                    if(len < minT || len >maxT)
                    {
                        continue;
                    }
                    long long tmp = 6*(ix-1)*(iy-1);
                    long long ans = tmp * (X-ix) * (Y-iy);
                    total += ans;
                    if(total >mod)
                    {
                        total = total % mod;
                    }
                }
            }
            return (int)total;
        }
        //$TESTCODE$
};
登录后复制

以后还要多多努力啊!!!!
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号