HDU5100Chessboard(数论)

题目链接

题目大意:用k∗1的瓷砖区铺n∗n的矩形,问能铺上的最大的面积。

解题思路:这题没有直接得出结论:l = n%k, ans = max[(n^2 - l^2), (n^2 - (k - l)^2)],可是在画的过程中发现了。最好的情况就仅仅有两种铺法。要不依照贪心的策略来铺,直到铺不下为止。或者是一圈一圈的铺。铺完一圈后最后还会剩下一个矩形。然后再递归子问题,每一个子问题都是返回面积最大的。

代码:

#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std; int find (int n, int k) { if (n < k)
return 0;
int mul = n / k;
int mod = n % k;
return (mul * n + mod * mul) * k;
} int solve (int n, int k) { int tmp1 = find(n, k), tmp2 = 0; if (n > k && n % k)
tmp2 = solve(n - 2 * (n % k), k) + 4 * (n / k) * (n % k) * k;
return max(tmp1, tmp2);
} int main () { int T, N, K;
scanf ("%d", &T);
while (T--) { scanf ("%d%d", &N, &K);
printf ("%d\n", solve(N, K));
}
return 0;
}

HDU5100Chessboard(数论)的更多相关文章

  1. Codeforces Round #382 Div. 2【数论】

    C. Tennis Championship(递推,斐波那契) 题意:n个人比赛,淘汰制,要求进行比赛双方的胜场数之差小于等于1.问冠军最多能打多少场比赛.题解:因为n太大,感觉是个构造.写写小数据, ...

  2. NOIP2014 uoj20解方程 数论(同余)

    又是数论题 Q&A Q:你TM做数论上瘾了吗 A:没办法我数论太差了,得多练(shui)啊 题意 题目描述 已知多项式方程: a0+a1x+a2x^2+..+anx^n=0 求这个方程在[1, ...

  3. 数论学习笔记之解线性方程 a*x + b*y = gcd(a,b)

    ~>>_<<~ 咳咳!!!今天写此笔记,以防他日老年痴呆后不会解方程了!!! Begin ! ~1~, 首先呢,就看到了一个 gcd(a,b),这是什么鬼玩意呢?什么鬼玩意并不 ...

  4. hdu 1299 Diophantus of Alexandria (数论)

    Diophantus of Alexandria Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java ...

  5. 【BZOJ-4522】密钥破解 数论 + 模拟 ( Pollard_Rho分解 + Exgcd求逆元 + 快速幂 + 快速乘)

    4522: [Cqoi2016]密钥破解 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 290  Solved: 148[Submit][Status ...

  6. bzoj2219: 数论之神

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  7. hdu5072 Coprime (2014鞍山区域赛C题)(数论)

    http://acm.hdu.edu.cn/showproblem.php?pid=5072 题意:给出N个数,求有多少个三元组,满足三个数全部两两互质或全部两两不互质. 题解: http://dty ...

  8. ACM: POJ 1061 青蛙的约会 -数论专题-扩展欧几里德

    POJ 1061 青蛙的约会 Time Limit:1000MS     Memory Limit:10000KB     64bit IO Format:%lld & %llu  Descr ...

  9. 数论初步(费马小定理) - Happy 2004

    Description Consider a positive integer X,and let S be the sum of all positive integer divisors of 2 ...

随机推荐

  1. 关于JDNI、JMX

    http://www.cnblogs.com/itech/archive/2010/09/16/1827999.html http://javacrazyer.iteye.com/blog/75948 ...

  2. 不改变中间层,如何玩转 .NET 的远程处理功能?

    原文链接: https://msdn.microsoft.com/enus/library/aa289846(v=vs.71).aspx Visual Studio .NET 2003 该方案展示了传 ...

  3. QT4项目升级到QT5遇到的问题和解决方法

    QT4升级到QT5改动: PC部分: [改QTDIR变量] 在工程根目录下找到.user文件, 如InnoTabPlugin.vcxproj.user 修改指向你的QT5根目录: <Proper ...

  4. 展讯CEO:低毛利生存 由中低端转向高端

    最近一两年来,芯片市场的热闹有从细分.垂直的圈子向整个大社会场景发酵的迹象. 备受各界关注的高通发垄断案,国家大基金的成立,以及展讯.锐迪科等私有化等等,都意味着这个行业的热度在快速上升.这里面既有芯 ...

  5. Android 性能优化之使用MAT分析内存泄露问题

    我们平常在开发Android应用程序的时候,稍有不慎就有可能产生OOM,虽然JAVA有垃圾回收机,但也不能杜绝内存泄露,内存溢出等问题,随着科技的进步,移动设备的内存也越来越大了,但由于Android ...

  6. Android开发UI之常用控件的使用

    1.日期选择控件 DatePickerDialog 代码: btnChooseDate=(Button) findViewById(R.id.btnChooseDate); btnChooseDate ...

  7. ☀【移动】UC极速模式

    UC浏览器的部分版本默认是“极速”模式,有何办法能控制UC自动改变其浏览模式? √http://www.zhihu.com/question/20582949 关于UC极速模式下访问网站错乱 √htt ...

  8. Journal.Today 1.0.0

    我喜欢把一天的日记都放在一个文件中,而不是每次都新建一个文件.   写了一个脚本,检测当天是否已经新建日记,已经新建则打开,未新建则新建并打开.   其中我不太喜欢Wiz日记本来的标题命名方式,所以都 ...

  9. jquery图片轮播插件slideBox

    效果预览: 源代码下载: jQuery图片轮播(焦点图)插件jquery.slideBox 特点:兼容IE6+,Chrome,Firefox,Opera,safari,可左右,可上下,可快可慢,可指定 ...

  10. C#使用Word中的内置对话框实例

    本文实例讲述了C#使用Word中的内置对话框的方法,分享给大家供大家参考.具体实现方法如下: 使用 Microsoft Office Word 时,有时需要显示用户输入对话框.虽然可以创建自己的对话框 ...