jzoj 3452_长方形_模拟
来源:互联网 发布:最优化方法推荐 编辑:程序博客网 时间:2024/05/17 01:46
思路
鸡腿想到了一个很高(sha)明(bi)的问题,在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每个石子都只能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。
思路
枚举一个矩形的边的长度,暴力判断即可
然后将n,m对调再跑一遍,输出最优解
#include <stdio.h>#include <string>#include <cstring>using namespace std;#define fill(x, y) memset(x, y, sizeof(x))#define maxn 1001#define LL long longint main(){ freopen("rectangle.in","r",stdin); freopen("rectangle.out", "w", stdout); LL n, m, k, maxx = 0; scanf("%lld%lld%lld", &n, &m, &k); for (int i = 2; i <= n; i++) if (i * m >= k) { LL ans1 = i * (i - 1) / 2; int x = k / i; ans1 *= x * (x - 1) / 2; int y = k % i; ans1 += x * (y * (y - 1)) / 2; maxx = maxx > ans1 ? maxx : ans1; } n ^= m; m ^= n; n ^= m; for (int i = 2; i <= n; i++) if (i * m >= k) { LL ans1 = i * (i - 1) / 2; int x = k / i; ans1 *= x * (x - 1) / 2; int y = k % i; ans1 += x * (y * (y - 1)) / 2; maxx = maxx > ans1 ? maxx : ans1; } if (n == 1 || m == 1) maxx = 0; printf("%lld\n", maxx);}
阅读全文
1 1
- jzoj 3452_长方形_模拟
- jzoj 3518_进化序列_模拟
- jzoj P2434 【普及_模拟】开关灯泡
- jzoj. 3452. 【NOIP2013中秋节模拟】长方形(rectangle)
- jzoj P2433 【普及_模拟】最短路上的统计
- jzoj P2435 【普及_模拟】校门外的树
- 【普及_模拟】开关灯泡(jzoj第三题)
- jzoj 1278_排队_线段树
- jzoj 3927_可见点数_数论
- jzoj 3928_射击_堆
- jzoj 3450_山峰_bfs
- jzoj 1279_解题_dp
- 面向对象_长方形案例练习
- jzoj 1379_【线段树】最大值_线段树
- jzoj 3453_连通块_并查集
- jzoj 1154_购物_最大流/树形dp
- hdu_1049_水_模拟
- 遭遇战_模拟
- 新浪微博发表内容ajax拼接
- 设计模式-Singleton模式(只有一个实例)
- Android studio如何更改应用程序的图标以及名称
- 【算法】座位排序算法
- android开发之动画效果
- jzoj 3452_长方形_模拟
- POJ1661
- 3562: [SHOI2014]神奇化合物
- STL-迭代器与traits技法
- Android自定义控件_基础(五)
- NAT技术与代理服务器
- jzoj3452 【NOIP2013中秋节模拟】长方形(rectangle)
- weak_ptr打破环状引用
- Android开发之 popupwindow