1869: Mathematics and Geometry
这是郑州轻工业学校的一次校赛的校内选拔赛,看名字是计算几何 的题
题目地址:
http://acm.zzuli.edu.cn/zzuliacm/problem.php?id=1869
Description
给你一个n,求方程 2x + y + 2z = n 解的个数,其中x, y, z, n 都是非负整数
**********************以下是我的思路********************************
最开始的时候,我是想要用双重循环来做。枚举 x 和 y ,结果是肯定的 TLE
{ /* 代码我就不拿出来丢人了*/ }
{ /*中间的胡思乱想略去*/}
最后我想到了把方程放到 3维 的直角坐标系中 ,2x + y + 2z = n 其实是一个平面,而问题的解可以转化为在 “第一卦限内平面上整数点的个数”
巧的是 y 的系数是 1。于是把平面向 XZ 平面内投影(得到一个三角形区域,在这个三角形区域内的整数点都是平面上的整数点的投影),然后计算
XZ 二维平面上的三角形区域内的点的个数就是解。(更巧的是 x 和 z 的系数也是一样的,这样的话平面内点的计数就成了从 1 到(n/2 +1)的连续和,
如果 x 和 z 的系数不一样,那么解也应该是某个等差数列的和)
再说明一下,因为 y 的系数是1 ,所以才有 ”在这个三角形区域内的整数点都是平面上的整数点的投影“ (x 和 z 都是整数,n也是 ,那么 y=n-2*(x+z) 也是整数)
# include <stdio.h>
typedef long long int LL;
LL n,ans;
int t;
int main(){
scanf("%d",&t);
for(int i=0;i<t;++i){
scanf("%lld",&n);
n=n/2+1;
if(n%2==0){
ans=n/2*(n+1);
}else{
ans=(n+1)/2*n;
}
printf("Case #%d: %lld\n",i+1,ans);
}
return 0;
}
1869: Mathematics and Geometry的更多相关文章
- 第八届郑州轻工业学院ACM(程序设计大赛)校内预选赛
郑州轻工业学院有一个大赛,把几个有趣的题目分享一下.下面是题目连接,喜欢了就点点... 斗破苍穹 礼上往来 统计人数 神の数 炉石传说 Mathematics and Geometry 马拉松后记 斗 ...
- php实现var_dump函数
<?php class VarDump { private static $isInLoop = false; private static $buffer = false; public st ...
- What Is Mathematics?
What Is Mathematics? The National Council of Teachers of Mathematics (NCTM), the world's largest org ...
- <<Differential Geometry of Curves and Surfaces>>笔记
<Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...
- Mathematics for Computer Graphics数学在计算机图形学中的应用 [转]
最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=10509 [译]Mathematics for Computer Gra ...
- How to do Mathematics
著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处.作者:匿名用户链接:http://www.zhihu.com/question/30087053/answer/47815698来源 ...
- Mathematics for Computer Graphics
Mathematics for Computer Graphics 最近严重感觉到数学知识的不足! http://bbs.gameres.com/showthread.asp?threadid=105 ...
- <Differential Geometry of Curves and Surfaces>(by Manfredo P. do Carmo) Notes
<Differential Geometry of Curves and Surfaces> by Manfredo P. do Carmo real line Rinterval I== ...
- How do I learn mathematics for machine learning?
https://www.quora.com/How-do-I-learn-mathematics-for-machine-learning How do I learn mathematics f ...
随机推荐
- IDDD 实现领域驱动设计-上下文映射图及其相关概念
上一篇:<IDDD 实现领域驱动设计-理解限界上下文> 距离上一篇有几天时间了,<实现领域驱动设计>第三章的内容都是围绕一个词-上下文映射图,我大概断断续续看了几天,总共看了两 ...
- 【分布式】Zookeeper使用--Java API
一.前言 上一篇博客我们通过命令行来操作Zookeper的客户端和服务端并进行相应的操作,这篇主要介绍如何通过API(JAVA)来操作Zookeeper. 二.开发环境配置 首先打开Zookeeper ...
- 用SignalR 2.0开发客服系统[系列1:实现群发通讯]
前言 交流群:195866844 先说一下我为什么会写这个博客吧,(首先说一下,我是一个小菜鸟,讲的不好请指导 - -,) 前段时间公司的项目涉及到在B/S上使用即时通讯,(其实就是做一个B/S的客 ...
- Elasticsearch —— bulk批量导入数据
在使用Elasticsearch的时候,一定会遇到这种场景--希望批量的导入数据,而不是一条一条的手动导入.那么此时,就一定会需要bulk命令! 更多内容参考我整理的Elk教程 bulk批量导入 批量 ...
- LinqToDB 源码分析——轻谈Linq查询
LinqToDB框架最大的优势应该是实现了对Linq的支持.如果少了这一个功能相信他在使用上的快感会少了一个层次.本来笔者想要直接讲解LinqToDB框架是如何实现对Linq的支持.写到一半的时候却发 ...
- JS魔法堂:不完全国际化&本地化手册 之 拓展篇
前言 最近加入到新项目组负责前端技术预研和选型,其中涉及到一个熟悉又陌生的需求--国际化&本地化.熟悉的是之前的项目也玩过,陌生的是之前的实现仅仅停留在"有"的阶段而已. ...
- Python 正则表达式入门(初级篇)
Python 正则表达式入门(初级篇) 本文主要为没有使用正则表达式经验的新手入门所写. 转载请写明出处 引子 首先说 正则表达式是什么? 正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达 ...
- TypeScript 强类型 JavaScript – Rafy Web 框架选型
今天看到了 AngularJs 2.0 版本将基于 TypeScript 构建 的消息.与同事们对 TypeScript 展开了讨论.本文记录一些个人的想法. 理想的 JavaScript 开发模式 ...
- 运用css,对于下拉菜单的制作
<html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <met ...
- Lambda 表达式递归用法实例
注意: 使用Lambda表达式会增加额外开销,但却有时候又蛮方便的. Windows下查找子孙窗口实例: HWND FindDescendantWindows(HWND hWndParent, LPC ...