【水】wikioi2624正方形计数

这道题在vijos上面叫做P1307黑皮的正方形但是我更喜欢wikioi,原因是因为他细节比较好。。。。。。

题目描述 Description

一天Seekdreamer出去玩耍,看见街上的地板是由很多小的正方形组成,顿时心里突发奇想想要总结一下到底有多少正方形……

于是,他狠下心来数了数,终于知道了正方形的总边长为N,你的任务是找出在可以组成的每个至少边长为1的正方形的个数。

输入描述 Input Description

一个自然数N。

输出描述 Output Description

一个整数,即正方形的总数。

样例输入 Sample Input

2

样例输出 Sample Output

5

数据范围及提示 Data Size & Hint

(0≤N≤32767)

思路thinkings

虽然这道题给的范围只有int不到,但是乘起来很可怕!C++不开long long用int就是作死的节奏。。。WA:70两次都在这儿

公式或者枚举都可以滴,都有代码。。

代码codes

program ss;
  var all:qword;
      n,d,i:longint;
  begin
    readln(n);
    all:=0;
    for i:=0 to n-1 do
     begin
      d:=n-i;
      d:=d*d;
      all:=all+d;
     end;
    writeln(all);
  end.

以上是pascal的公式法。。

C的公式法就不放了,反正一样。。。

#include<iostream>
using namespace std;
int main()
{
    long long n,d,all,i;
    cin>>n;
    all=0;
    for (i=1;i<=n;i++)
     {
        all+=(n-i+1)*(n-i+1);
     }
    cout<<all<<endl;
}
    

这是C++的枚举算法,(⊙v⊙)嗯应该大部分人都是习惯性想到这个吧。。。。

【水】wikioi2624正方形计数,布布扣,bubuko.com

时间: 2025-01-02 20:59:53

【水】wikioi2624正方形计数的相关文章

【CF459D】 Pashmak and Parmida&#39;s problem [树状数组]

CF459D Pashmak and Parmida's problem 给出长度为n的序列a. f(i,j,x)表示ai..aj中x的出现次数. 求有多少对i,j满足f(1,i,ai) > f(j,n,aj).(i<j) 害挺水 就是开始计数那用的玄学vector超时了... 用 map/离散化预处理出 f(1, i, a[i]) 和 f(j, n, a[j]) 类似求逆序对,树状数组.维护 #include<bits/stdc++.h> using namespace std;

poj 1164 The Castle dp区域计数水题

水题,直接贴代码. //poj 1164 //sep9 #include <iostream> using namespace std; int a[64][64]; int dp[64][64]; int n,m; const int west=1,north=2,east=4,south=8; void dfs(int x,int y) { dp[x][y]=1; if((a[x][y]&north)==0&&dp[x-1][y]==-1){ dfs(x-1,y);

[水题]4242 果实计数&amp;&amp;3214 采访对象

4242 果实计数 时间限制: 1 s 空间限制: 32000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 淘淘家有棵奇怪的苹果树,这棵树共有n+1层,标号为0~n.这棵树第0层只有一个节点,为根节点.已知这棵树为b叉树,且保证是一颗满b叉树. 现在,该树第n层的每个节点上都结出了一个苹果,淘淘想知道共结了多少苹果.由于数量可能很大,答案要求输出mod k后的结果. 输入描述 Input Description 给出第1层的节点数b和层数n和k 输出描述 Outp

[hdu5203]计数水题

思路:把一个木棍分成3段,使之能够构成三角形的方案总数可以这样计算,枚举一条边,然后可以推公式算出当前方案数.对于已知一条边的情况,也用公式推出.用max和min并维护下,以减少情况数目. 1 #pragma comment(linker, "/STACK:10240000,10240000") 2 3 #include <iostream> 4 #include <cstdio> 5 #include <algorithm> 6 #include

CCF 201604-1 折点计数 (水题,暴力)

问题描述 给定n个整数表示一个商店连续n天的销售量.如果某天之前销售量在增长,而后一天销售量减少,则称这一天为折点,反过来如果之前销售量减少而后一天销售量增长,也称这一天为折点.其他的天都不是折点.如下图中,第3天和第6天是折点. 给定n个整数a1, a2, …, an表示销售量,请计算出这些天总共有多少个折点. 为了减少歧义,我们给定的数据保证:在这n天中相邻两天的销售量总是不同的,即ai-1≠ai.注意,如果两天不相邻,销售量可能相同. 输入格式 输入的第一行包含一个整数n. 第二行包含n个

AcWing 230. 排列计数 水题(组合数+错排)打卡

题目:https://www.acwing.com/problem/content/232/ #include<bits/stdc++.h> #define ll long long #define mod 1000000007 using namespace std; const int maxn = 1000005; ll dp[maxn],inv[maxn],fac[maxn],inv_fac[maxn]; void init() { inv[0]=inv[1]=inv_fac[0]=f

题目:Jam的计数法(水题)

题目 传送门 思路 除了暴力我真没有想出其他的思路... 代码 #include<iostream> #include<cstdio> #include<cstring> using namespace std; int b,t,w; char a[105]; char s_s,s_t; bool s[105]; bool pd() { int tot=0; for(int i=s_t;i>=s_s;i--) { if(s[i]) tot++; else brea

bzoj1002 生成树计数 找规律

这道题第一眼是生成树计数,n是100,是可以用O(n^3)的求基尔霍夫矩阵的n-1阶的子矩阵的行列式求解的,但是题目中并没有说取模之类的话,就不好办了. 用高精度?有分数出现. 用辗转相除的思想,让它不出现分数.但过程中会出现负数,高精度处理负数太麻烦. 用Python打表?好吧,Python还不熟,写不出来..... 所以,如果这道题我考场上遇到,最多用double骗到n<=20的情况的部分分. 最终只能求助于题解了... 好像是通过观察行列式的特点,推导出关于答案f(n)的递推式(f(n)=

HDU 4007 Dave (基本算法-水题)

Dave Problem Description Recently, Dave is boring, so he often walks around. He finds that some places are too crowded, for example, the ground. He couldn't help to think of the disasters happening recently. Crowded place is not safe. He knows there