2014 网选 上海赛区 hdu 5047 Sawtooth

题意:求n个'M'型的折线将一个平面分成的最多的面数!
思路:我们都知道n条直线将一个平面分成的最多平面数是 An = An-1 + n+1
也就是f(n) = (n*n + n +2)/2
对于一个'M'型的折线呢?它有四条线,但是由于三个顶点的关系导致划分的平面
的数目减少了9个!所以有递推公式 f(n) = (m*m + m + 2)/2 - 9*n; m = 4*n

最后 f(n) = (8*n+1)*(n-1)+2)
由于 n<=1e12 , 所以回报 long long!那么对于大于1e9的数我做了大数乘法的处理!

复制代码
 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 using namespace std;
 5  
 6 void fun(int a[], long long b, int &l){//将一个数进行拆分放到数组中! 
 7     while(b){
 8         a[l++] = b%10;
 9         b/=10;
10     }
11 }
12 
13 
14 int a[30], b[30], c[30];
15 int la, lb;
16 
17 void cal(){
18     memset(c, 0, sizeof(c));
19     for(int i=0; i<la; ++i)
20         for(int j=0; j<lb; ++j)
21             c[i+j] += a[i]*b[j];
22     int k=0;    
23     int len = la+lb-1;
24     for(int i=0; i<len; ++i){
25         c[i]+=k;
26         k = c[i]/10;
27         c[i]%=10;
28     }
29     if(k>0) c[len++] = k;
30     k = 2;
31     for(int i=0; i<len; ++i){
32         c[i]+=k;
33         k = c[i]/10;
34         c[i]%=10;
35     }
36     if(k>0) c[len++] = k;
37     
38     for(int i = len-1; i>=0; --i)
39         printf("%d", c[i]);
40     printf("\n");
41 }
42 
43 int main(){
44     long long n;
45     int t, cnt=0;
46     scanf("%d", &t); 
47     while(t--){
48         scanf("%I64d", &n); 
49         printf("Case #%d: ", ++cnt);
50         if(n <= 1e9)
51             printf("%I64d\n", (8*n+1)*(n-1)+2);
52         else{
53             long long x = 8*n+1;
54             long long y = n-1;
55             la=lb=0;
56             fun(a, x, la);
57             fun(b, y, lb);
58             cal();
59         }
60      } 
61     return 0;
62 }
复制代码









本文转自 小眼儿 博客园博客,原文链接:http://www.cnblogs.com/hujunzheng/p/3997036.html,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/286806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二、基础(IVX快速开发手册)

二、基础 通过本节你将了解 iVX 所支持应用的创建方法。 文章目录二、基础2.1 iVX 线上集成环境进入2.2 创建项目2.3 选择项目类型2.3.1 WebApp/小程序/原生应用2.3.2 微信小游戏2.3.3 微信小程序&#xff08;原生组件&#xff09;2.1 iVX 线上集成环境进入 点击 连接 或通过…

【专升本计算机】经典Office 2003专升本复习题(Word、Excel、PowerPoint)

经典Office 2003专升本复习题(Word、Excel、PowerPoint) 一、Word 2003 1. 启动 Word 是指: 将 Word 从硬盘中调入主存执行 2. 菜单栏: 文件( F )、编辑( E )、视图( V )、插入( I )、格式( O )、工具( T )、表格( A )、窗口( W )、帮主( H ) 3. …

Android之TabLayout+ViewPager2+FragmentStateAdapter实现带数字变化的TAB选项

1 问题 TabLayout+ViewPager2实现带数字变化的TAB选项,然后左边滑动或者点击上面的Tab切换fragment不能刷新 2 结果爆照 3 代码实现 layer_tab_indicator.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="h…

slq2000数据库升级到sql2012

看到标题&#xff0c;估计有同行笑了&#xff0c;这年代还有用sql2000的&#xff1f;真的有&#xff0c;最近单位服务器数据迁移升级&#xff0c;将数据库迁移到新服务器后&#xff0c;发现数据全是2000的&#xff0c;无法直接导入到sql2012。没办法&#xff0c;只能先将数据库…

电脑网页打不开但qq能上解决方法

2019独角兽企业重金招聘Python工程师标准>>> 问题描述&#xff1a; 电脑网页打不开但qq能上。 问题原因&#xff1a; 是由于电脑系统的DNS解析出了问题。 解决方法&#xff1a; 首先在键盘上同时按下 winR 然后在弹窗中输入cmd &#xff0c; 再按enter键&#xf…

【专升本计算机】计算机权威复习题(基础知识、操作系统、计算机网络)

一、计算机基础知识 1. 第一台计算机: ENIAC “埃尼阿克”, 1946 年 2 月 14 日 2. 信息社会的基础是 计算机 、通信、信息的组织与处理,其中前者为核心 4. 计算机的组成: 运算器、控制器、存储器、输入设备、输出设备 5. 随机存储器( RAM ): 可读写,写…

基于Linux命令行KVM虚拟机的安装配置与基本使用

背景由于生产环境的服务器并不会安装桌面环境&#xff0c;简单操作的图形化安装也不适合批量部署安装。因此&#xff0c;我还是更倾向于在命令下安装配置KVM虚拟机。结合了一些资料和个人使用的状况&#xff0c;我大致列出了一些基本和常用的使用方法。 安装配置一、环境介绍操…

四、WebApp 基础可视组件(IVX 快速开发教程)

四、基础可视组件 通过本节你将了解 iVX 开发中的核心—— iVX 组件的使用方法。iVX 的组件是开发应用时所必要的对象&#xff0c;通过这些对象你将快速的完成应用的开发。 在 iVX 应用开发中&#xff0c;所有交互、动画、数据都需要以组件为基础&#xff0c;通过组件之间的编…

Springboot项目搭建(三)整合thymeleaf模板

springboot整合thymeleaf模板 一、POM文件添加依赖 <!--thymeleaf--> <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency><!--nekohtml 解决thymea…

React-引领未来的用户界面开发框架-读书笔记(一)

这本书的主要内容都是以react v0.12为主&#xff0c;ES5语法&#xff0c;笔记中将会使用react v0.14和RS6。 第1章 react简介 1.本质上是一个状态机&#xff0c;它以精简的模型管理复杂的随着时间而变化的状态。 2.它不是model-view-controller&#xff0c;它是mvc中的v(view)&…

Android之提示This version of Android Studio cannot open this project, please retry with Android Studio

1 问题 编译项目&#xff0c;错误提示如下 This version of Android Studio cannot open this project, please retry with Android Studio 2 解决办法 很明显&#xff0c;看英语翻译也知道&#xff0c;是由于AS版本太低导致&#xff0c;升级AS就可以了。

Netflix 的 API 架构演变历程

Netflix 以其松耦合和高度可扩展的微服务架构而闻名&#xff0c;Netflix API 的后端架构经历了 4 个主要阶段。&#x1d40c;&#x1d428;&#x1d427;&#x1d428;&#x1d425;&#x1d422;&#x1d42d;&#x1d421; &#x1d40c;&#x1d428;&#x1d427;&#x1d…

五、Web App 基础可视组件属性(IVX 快速开发教程)

五、基础可视组件属性 在 iVX 中各个组件存在不同的属性&#xff0c;这些属性用于设置显示的样式或者是自身具备的特征等&#xff0c;通过更改这些属性可以极大的方便我们进行项目的创作。 大多数组件都拥有相同的属性&#xff0c;相同属性在以下内容中不会赘述介绍&#xff…

【专升本计算机】甘肃省专升本考试计算机热点考点(填空题115道)

甘肃专升本考试计算机填空题热点考点 1 、自计算机问世至今已经经历了四个时代,划分时代的主要依据是计算机的构成元件。 2 、世界上第一台电子数字计算机采用的逻辑元件是电子管。 3 、早期的计算机体积大、耗能高、速度慢,其主要原因是制约于元器件。 4 、当前的计算机一…

【回溯法】竞赛游戏

题目描述 某游戏规则中&#xff0c;甲乙双方战斗&#xff0c;每一回合总能分出胜负&#xff0c;游戏规定&#xff1a; 1.失败的一方要将自己体力值的1/4加给胜利的一方。 2.游戏开始时&#xff0c;甲的体力值是1000&#xff0c;乙的体力值是2000。 3.每一回合&#xff0c;甲乙胜…

zabbix自动发现(Discovery)功能使用

随着监控主机不断增多&#xff0c;有的时候需要添加一批机器&#xff0c;特别是刚用zabbix的童鞋 需要将公司的所有服务器添加到zabbix&#xff0c;如果使用传统办法去单个添加设备、分组、项目、图像…..结果应该是让人吐的结果。 鉴于这个问题我们可以好好利用下Zabbix大…

Apache之三种工作模式和配置性能优化

1 Apache的3种模式和版本 Apache目前一共有三种稳定的MPM&#xff08;Multi-Processing Module&#xff0c;多进程处理模块&#xff09;模式&#xff0c;它们分别是prefork&#xff0c;worker和event。 我们可以使用httpd -V 命令查看apache的版本和模式&#xff0c;如果你服务…

lsof命令

lsof, LiSt Opened Files, 列出打开的文件, 听起来很简单的样子. 但想*nix中很多其他工具一样, lsof把这件简单的事情做到了炉火纯青. 因为Unix认为”一切皆文件”, 那么”打开的文件”就不仅仅是传统意义上打开的文件了, 还可以是网络/Unix域套接字, 匿名/具名管道, 共享库文件…

React-引领未来的用户界面开发框架-读书笔记(二)

第4章 数据流 由于react的数据流向是单向的&#xff08;其父节点传递到子节点&#xff09;&#xff0c; 因此组件是简单且易于把握的&#xff08;它们只需要从父节点获取props渲染即可&#xff09; 假如顶层组件的某个prop改变了&#xff0c;react会递归地向下遍历整个组件树&a…

六、WebApp 二手信息站点页面制作(IVX 快速开发教程)

六、二手信息站点页面制作 在了解了基础可视组件后&#xff0c;我们可以通过这些可视组件进行站点页面开发&#xff0c;在此以一个二手交易网站站点页面为例&#xff0c;本教程示例并不是成熟完善的示例&#xff0c;需要各位读者进行少量完善&#xff0c;示例只是用于功能讲解…