T3做不来。。 直接滚去T4 orz

乍一看 T4是个DP

题干

复杂度??(N^4) 咋优化。。。

还带一只捆绑 捆绑啥的最烦人了

最后20pts 直接废了 T了 很烦

不过拿到80pts已经很开心了惹

#pragma GCC optimize(1)
#pragma GCC optimize(2)
#pragma GCC optimize(3)
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
inline LL read () {
LL res = ;
int f () ;
char ch = getchar ();
while (!isdigit(ch)) {
if (ch == '-') f = - ;
ch = getchar();
}
while (isdigit(ch)) res = (res << ) + (res << ) + (ch ^ ),ch = getchar();
return res * f ;
}
const int N=<<,Mod=1e9+;
int n;
int f[N*N][N][N];
namespace slove {
void Init() {
n=read();
f[][][] = ;
for (register int i = ; i<n*(n-); i++)
for (register int j=; j<=((i+>n)?n:i+); j++)
for (register int k=j; k<=((i+>n)?n:i+); k++)
if (f[i][j][k]) {
if (i<=k+j- and k<n) f[i+][j][k+]=(f[i+][j][k+]+f[i][j][k])%Mod;
else if(((k*(k-)+j*(j-))>>)>=i+) f[i+][j][k]=(f[i+][j][k]+f[i][j][k])%Mod;
for (register int l=; l<=k-j; l++) if (((k*(k-)+(j+l)*(j+l-))>>)>=i+) f[i+][j+l][k]=(f[i+][j+l][k]+f[i][j][k])%Mod;
}
}
void slove() {
Init();
for (register int i=; i<=n*n-n; i++) {
LL ans=;
for (register int j =; j<=((i+>n)?n:i+); j++)
for (register int k=j; k<=((i+>n)?n:i+); k++) ans=(ans+f[i][j][k])%Mod;
printf("%d%c",ans," \n"[i==n*n-n]);
}
}
}
signed main() {
return slove::slove(),;
}

关于100pts ↓

#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm> template <class T>
inline T Min(const T &a, const T &b) {return a < b ? a : b;} const int N = , M = N * N, ZZQ = 1e9 + ; int n, p_limit[N], f[][N][N], sf[][N][N], g[][N], sg[][N], ans[N * N]; int main()
{
std::cin >> n;
for (int i = ; i <= n; i++)
p_limit[i] = (n - i + ) * (n - ) + (i - ) * (i - ) / ;
f[][n][] = ans[] = ;
for (int i = ; i <= n; i++) sf[][i][] = ;
for (int i = ; i <= Min(n * (n - ), n << ); i++)
{
int op = i & ;
for (int j = ; j <= n; j++)
for (int k = ; k <= n; k++)
f[op][j][k] = ;
for (int j = ; j <= n; j++) if (i <= p_limit[j])
for (int k = ; k <= n; k++) if (i + j >= n + k - )
f[op][j][k] = (f[op ^ ][j][k] + sf[op ^ ][j + ][k - ]) % ZZQ;
for (int j = n; j >= ; j--)
for (int k = ; k <= n; k++)
{
sf[op][j][k] = (sf[op][j + ][k] + f[op][j][k]) % ZZQ;
ans[i] = (ans[i] + f[op][j][k]) % ZZQ;
}
}
for (int j = ; j <= n; j++) for (int k = ; k <= n; k++)
g[][j] = (g[][j] + f[][j][k]) % ZZQ;
for (int j = n; j >= ; j--) sg[][j] = (sg[][j + ] + g[][j]) % ZZQ;
for (int i = (n << ) + ; i <= n * (n - ); i++)
{
int op = i & ;
for (int j = ; j <= n; j++) g[op][j] = ;
for (int j = ; j <= n; j++) if (i <= p_limit[j])
g[op][j] = sg[op ^ ][j];
for (int j = n; j >= ; j--)
{
sg[op][j] = (sg[op][j + ] + g[op][j]) % ZZQ;
ans[i] = (ans[i] + g[op][j]) % ZZQ;
}
}
for (int i = ; i <= n * (n - ); i++) printf("%d ", ans[i]);
puts("");
return ;
}

洛谷2019 3月月赛 T4的更多相关文章

  1. 洛谷2019 3月月赛 T2

    题干 洛谷同款 T2?(看似比T1简单些) 二维前缀和嘛?[多简单 我天天拿二维前缀和水DP] 这是前缀和的预处理 2333 处理出来所有的情况 某个地方要加上mod再%mod 如果没有这一步 那么 ...

  2. 洛谷2019 3月月赛 T1

    题干 2019第一次月赛 我只有255pts T1还是比较水的... 海星 T1一道简单的模拟(就是有坑..导致很多人不能一次性AC 比如说我) _3个坑点 1.位数问题 2.-0 3.0... #i ...

  3. 洛谷2019 3月月赛 T3

    题干 唯一AC T3 的大巨佬%%% 这题就是个大模拟吧. 题解

  4. 洛谷P3862 8月月赛B

    https://www.luogu.org/problemnew/show/P3862#sub P3862 8月月赛B 推公式:f(n)->f(n+1) 奇葩的预处理 https://www.l ...

  5. 洛谷2017 5月月赛R1

    我只想说面对这种难度的题目就是冲着20%的数据暴力... 分数:40+20+36.1+38+0+19 T1 签到题 III 题目背景 pj组选手zzq近日学会了求最大公约数的辗转相除法. 题目描述 类 ...

  6. 【贪心】洛谷2019 OI春令营 - 普及组 作业

    [P3817 小A的糖果 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. [贪 ...

  7. 洛谷P1514 [NOIP2010提高组T4]引水入城

    P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城 ...

  8. 【洛谷2019 OI春令营】期中考试

    T68402 扫雷 题目链接:传送门 题目描述 扫雷,是一款单人的计算机游戏.游戏目标是找出所有没有地雷的方格,完成游戏:要是按了有地雷的方格,游戏失败.现在 Bob 正在玩扫雷游戏,你作为裁判要判断 ...

  9. 【动态规划】洛谷2019 OI春令营 - 普及组 作业

    [P1464 Function] [题解] 按照题目意思进行递归即可,但是过程中需要用到记忆化搜索. #include<bits/stdc++.h> using namespace std ...

随机推荐

  1. JPA的一些坑

    推荐一篇比较好的介绍JPA的文章:使用 Spring Data JPA 简化 JPA 开发 JPA坑1:不支持Limit查询 JPA是不支持Limit分页查询,而我们有时又因为某些原因不想用JPA提供 ...

  2. wait和waitpid函数

    来源:http://hohahohayo.blog.163.com/blog/static/120816010200971210230362/ wait(等待子进程中断或结束)表头文件     #in ...

  3. iOS点击cell时,控件背景色消失的解决方法

    同时调用一下两个方法: - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected ...

  4. JQuery判断radio是否选中并获取选中值的示例代码

    这篇文章主要介绍了JQuery判断radio是否选中并获取选中值的方法,代码很简单,但很实用,需要的朋友可以参考下 其他对radio操作功能,以后在添加.直接上代码,别忘记引用JQuery包 ? 1 ...

  5. Apache 使用localhost(127.0.0.1)可以访问,使用本机IP(局域网)不能访问

    本机ip是:192.168.1.25,输入后提示: Forbidden You don't have permission to access / on this server 对于此问题的解决办法, ...

  6. bzoj2212 Tree Rotations

    被BZOJ坑了一下午,原以为是我程序有问题一直WA,结果是我数组小了...为啥不给我RE!!! 线段树合并,对于逆序对而言,只能通过交换左右子树来达到,那么我们就可以想到对于一个结点而言,我们当然要取 ...

  7. MongoDB小结07 - update【$pop】

    如果将数组看做队列,可以用$pop方法删除第一个或者最后一个元素 {$pop:{"key":-1}},{$pop:{"key":1}}

  8. springboot application.properties

    verify if you have this items: @Bean public CommonsMultipartResolver multipartResolver() { CommonsMu ...

  9. apache.commons.lang.StringUtils 使用心得

    原文:http://blog.csdn.net/ye_sheng/article/details/48101901?ref=myread 在Java中我们用的最多的类应该就是String了.对于Str ...

  10. Node.js安装及环境配置之Windows篇(转:https://www.cnblogs.com/zhouyu2017/p/6485265.html)

    Node.js安装及环境配置之Windows篇(原文地址:https://www.cnblogs.com/zhouyu2017/p/6485265.html)   一.安装环境 1.本机系统:Wind ...