开始刷一些USACO月赛题了..

这题简单递推就不说了.

然后我们发现暴力递推是$O(n^2)$的.看起来非常慢.

这道题拥有浓厚的数学色彩,因此我们可以从数学它的规律上找突破口.

(于是暴力大法好,打表出奇迹.)

n: 1 2 3 4 5 6 7  8  9...
r: 0 0 0 1 4 6 16 19 40

好像完全没有规律,怎么办?

就这么交上去吧,反正不会超时.

然后我们A了这道题,仍然感到不爽.怎么办?

Plot!(擦,我要搞个自己的数学软件!!)

我十分感动...

一看就不是多项式嘛= =!...

////////////////////////////////////////////////////////////

然后我发现我错了.

注意到奇数与偶数之间的间隔,每次都是增加1的.

那么我就把偶数的拿去问了OEIS,它说是一个多项式.

我感受到了这个世界深深的奇妙性...

对就是那个$\frac{2}{3}x^3-2x^2+\frac{4}{3}x$.

接下来就发生了顺理成章的事情.

#include<cstdio>
long long n,m,mx;
int main(){
scanf("%lld",&n);
++n;
m=n/2;
mx=((2*m-6)*m+4)*m;
if(m*2==n){
printf("%lld\n",mx/3);
}else{
printf("%lld\n",mx/3+m-1);
}
return 0;
}

BZOJ 1600的更多相关文章

  1. BZOJ 1600: [Usaco2008 Oct]建造栅栏( dp )

    QAQ我没读过书...四边形都不会判定了 简单的dp.... --------------------------------------------------------------------- ...

  2. BZOJ 1600: [Usaco2008 Oct]建造栅栏

    1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Description 勤奋的Farmer John想要建造一个四面的 ...

  3. BZOJ 1600 [Usaco2008 Oct]建造栅栏:dp【前缀和优化】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1600 题意: 给你一个长度为n的木板,让你把这个木板切割成四段(长度为整数),并且要求这四 ...

  4. bzoj 1600 &amp; Usaco 月赛 2008 建造栅栏 题解

    [原题] 1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Submit: 785  Solved: 443 [Subm ...

  5. BZOJ 1600 建造栅栏

    O(N)分成1,2与3,4两部分搞一搞. #include<iostream> #include<cstdio> #include<cstring> #includ ...

  6. bzoj 1600: [Usaco2008 Oct]建造栅栏【dp】

    要求三边和大于第四边,所以任意一条边的长度都是小于n/2 设f[i][j]为前i条长为j,转移的时候用n/2限制 #include<iostream> #include<cstdio ...

  7. 【BZOJ】1600: [Usaco2008 Oct]建造栅栏(dp)

    http://www.lydsy.com/JudgeOnline/problem.php?id=1600 说好的今天开始刷水.. 本题一开始我以为是排列组合,但是自己弱想不出来,只想到了如果四边有一条 ...

  8. 【BZOJ 1119】 1119: [POI2009]SLO (置换)

    1119: [POI2009]SLO Description 对于一个1-N的排列(ai),每次你可以交换两个数ax与ay(x<>y),代价为W(ax)+W(ay) 若干次交换的代价为每次 ...

  9. USACO 刷题记录bzoj

    bzoj 1606: [Usaco2008 Dec]Hay For Sale 购买干草——背包 #include<cstdio> #include<cstring> #incl ...

随机推荐

  1. EntityFramework_MVC4中EF5 新手入门教程之六 ---6.通过 Entity Framework 更新关联数据

    在前面的教程中,您将显示相关的数据 :在本教程中,您会更新相关的数据.对于大多数的关系,这个目标是可以通过更新相应的外键字段来达到的.对于多对多关系,实体框架并不直接,暴露联接表,因此您必须显式添加和 ...

  2. 5.9-4用字符串生成器给字符串str追加1~10这10个数字

    package zfc; public class ZfcShcq { public static void main(String[] args) { // TODO Auto-generated ...

  3. Quartz 定时任务管理

    前言 将项目中的所有定时任务都统一管理吧,使用 quartz 定时任务 设计思路 使用 quartz 的相关jar 包,懒得去升级了,我使用的是 quart 1.6 写一个定时任务管理类 用一张数据库 ...

  4. Java设计模式-桥接模式(Bridge)

    桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化.桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时 ...

  5. Facebook Hacker Cup 2014 Qualification Round 竞赛试题 Square Detector 解题报告

    Facebook Hacker Cup 2014 Qualification Round比赛Square Detector题的解题报告.单击这里打开题目链接(国内访问需要那个,你懂的). 原题如下: ...

  6. 【CodeForces 227A】Where do I Turn?叉积

    题意 ABC的位置关系只有三种可能: 1.在一条直线上,输出TOWARDS A--B--C 2.AB 和BC垂直,B为直角顶点,AB左侧是C,输出LEFT C--B | A 3.AB 和BC垂直,B为 ...

  7. RegexBuddy正则表达式工具

    RegexBuddy非常的好用,而且还能生成.net的代码. 我们在使用正则匹配时,毕竟.net提供的方法中,对于多行匹配就不能用单纯的正则去实现,而我们需要把它转换成相应的类库方法进行实现. 那么R ...

  8. POJ1860Currency Exchange(Bellman + 正权回路)

    Currency Exchange Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 23938   Accepted: 867 ...

  9. 详细解读Jquery各Ajax函数:$.get(),$.post(),$.ajax(),$.getJSON()

    一,$.get(url,[data],[callback]) 说明:url为请求地址,data为请求数据的列表(是可选的,也可以将要传的参数写在url里面),callback为请求成功后的回调函数,该 ...

  10. Java初学(六)

    一.final(最终)可以修饰类.方法.变量 特点:final修饰类,该类不能被继承 final修饰方法,该方法不能被重写(覆盖.重载.复写)        final修饰变量,该变量不能被重新赋值. ...