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. [ZJOI2010] 数字统计

    [ZJOI2010] 数字统计 题目 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次. INPUT 输入文件中仅包含一行两个整数a.b,含义如上所述 OUTP ...

  2. memcache 原理 & 监测 & 查看状态 & stats & 结构

    Mencache内存存储方式:slab/LRU,采用预先申请固定大小的内存页(slab/page),然后再把内存分成多个块(chunk) 先放一张从网上找到的memcache内存结构图,觉得非常的赞:

  3. centos7 host修改

    首先要说明,hostname和hosts文件没有必然联系,有不明白的同学可以先自行查阅资料了解hostname和hosts文件的关系.这里简要说明一下. hosts文件是dns服务的前身,网络刚开始出 ...

  4. CentOS7使用mount命令来挂载CDROM

    https://blog.csdn.net/testcs_dn/article/details/41448557

  5. cogs——73. 找最佳通路

    73. 找最佳通路 ★☆   输入文件:city.in   输出文件:city.out   简单对比时间限制:1 s   内存限制:128 MB 问题描述有 n 个 城市,它们之间的交通情况已知.现在 ...

  6. tomcat会自动解压webapps目录下的war包

    如图,把war包放到tomcat的webapps目录,会被自动解压

  7. Linux学习系列之LNMP

    LNMP介绍 LNMP是什么 LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web架构; 这四种软件组合,可以成为一个免费.高效.扩展性强的Web架构; LNMP原理图 ...

  8. Linux---有关dig命令的有用脚本

    这里直接给出脚本以及运行的效果图,主要推断了一下cdn然后能够直接过滤url.默认就是dig +域名 +short. 脚本qdig(随便能够取一个名字)例如以下: #!/usr/bin/env bas ...

  9. python可变參数调用函数问题

    一直使用python实现一些想法,近期在使用python的过程中出现这样一个需求,定义了一个函数.第一个是普通參数.第二个是默认參数,后面还有可变參数,在最初学习python的时候,都知道非keywo ...

  10. SDUT--找朋友(BFS&amp;&amp;DFS)

    找朋友 Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描写叙述 X,作为户外运动的忠实爱好者,总是不想呆在家里.如今,他想把死宅Y从家 ...