2014 网选 上海赛区 hdu 5047 Sawtooth

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介:
题意:求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的数我做了大数乘法的处理!


#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
 
void fun(int a[], long long b, int &l){//将一个数进行拆分放到数组中! 
    while(b){
        a[l++] = b%10;
        b/=10;
    }
}


int a[30], b[30], c[30];
int la, lb;

void cal(){
    memset(c, 0, sizeof(c));
    for(int i=0; i<la; ++i)
        for(int j=0; j<lb; ++j)
            c[i+j] += a[i]*b[j];
    int k=0;    
    int len = la+lb-1;
    for(int i=0; i<len; ++i){
        c[i]+=k;
        k = c[i]/10;
        c[i]%=10;
    }
    if(k>0) c[len++] = k;
    k = 2;
    for(int i=0; i<len; ++i){
        c[i]+=k;
        k = c[i]/10;
        c[i]%=10;
    }
    if(k>0) c[len++] = k;
    
    for(int i = len-1; i>=0; --i)
        printf("%d", c[i]);
    printf("\n");
}

int main(){
    long long n;
    int t, cnt=0;
    scanf("%d", &t); 
    while(t--){
        scanf("%I64d", &n); 
        printf("Case #%d: ", ++cnt);
        if(n <= 1e9)
            printf("%I64d\n", (8*n+1)*(n-1)+2);
        else{
            long long x = 8*n+1;
            long long y = n-1;
            la=lb=0;
            fun(a, x, la);
            fun(b, y, lb);
            cal();
        }
     } 
    return 0;
}


相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
6月前
2017ICPC沈阳区域赛 F
2017ICPC沈阳区域赛 F
39 0
|
5月前
|
人工智能
2018ICPC青岛 (D,E,F)
【6月更文挑战第1天】
34 0
|
机器学习/深度学习
山东第一届省赛 Balloons (dfs)
山东第一届省赛 Balloons (dfs)
56 0
|
人工智能 Dart 算法
【算法题解】2022河南萌新联赛第(四)场:郑州轻工业大学
【算法题解】2022河南萌新联赛第(四)场:郑州轻工业大学
【算法题解】2022河南萌新联赛第(四)场:郑州轻工业大学
第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(南京)L Let‘s Play Curling
本题的大体意思是,红队和蓝队在n+m的长度上,红队有n个石头,蓝队有m个,要求求红队尽可能的得分,得分规则是,确定一个c点,红队的某一个石头距离c的位置比蓝队的每一个石头都近,该石头可以得一分。
179 0
第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(南京)L Let‘s Play Curling
|
人工智能 云计算 开发者
DevUP 沙龙 | 八月北京、上海、成都燥起来
炎热的周末不知去哪里耍,不如来参加阿里云开发者 DevUP 沙龙吧。三大城市火热来袭,专家面对面交流,更有实操环节加深理解。放松学习的同时还有机会结交志同道合的小伙伴, 约约约!
DevUP 沙龙 | 八月北京、上海、成都燥起来
这里是你最喜欢的杭州的夏天
图片发自简书App 图片发自简书App 图片发自简书App 图片发自简书App 图片发自简书App 图片发自简书App 图片发自简书App 图片...
919 0
夜听杭州
一个人曾经 走遍这座城市的 大街与小巷 只为了看那与我无关的 熙熙攘攘—— 华星路 万塘路 文一文二文三路上 麦庙街 火车东站 德胜路 下沙大学城 南宋御街 西湖 钱塘江 西溪湿地 浙大 美院 老余杭 滨江 阿里巴巴 网易 挖财 绿城电商 地铺床 ……...
1003 0