洛谷2019 3月月赛 T4
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的更多相关文章
- 洛谷2019 3月月赛 T2
题干 洛谷同款 T2?(看似比T1简单些) 二维前缀和嘛?[多简单 我天天拿二维前缀和水DP] 这是前缀和的预处理 2333 处理出来所有的情况 某个地方要加上mod再%mod 如果没有这一步 那么 ...
- 洛谷2019 3月月赛 T1
题干 2019第一次月赛 我只有255pts T1还是比较水的... 海星 T1一道简单的模拟(就是有坑..导致很多人不能一次性AC 比如说我) _3个坑点 1.位数问题 2.-0 3.0... #i ...
- 洛谷2019 3月月赛 T3
题干 唯一AC T3 的大巨佬%%% 这题就是个大模拟吧. 题解
- 洛谷P3862 8月月赛B
https://www.luogu.org/problemnew/show/P3862#sub P3862 8月月赛B 推公式:f(n)->f(n+1) 奇葩的预处理 https://www.l ...
- 洛谷2017 5月月赛R1
我只想说面对这种难度的题目就是冲着20%的数据暴力... 分数:40+20+36.1+38+0+19 T1 签到题 III 题目背景 pj组选手zzq近日学会了求最大公约数的辗转相除法. 题目描述 类 ...
- 【贪心】洛谷2019 OI春令营 - 普及组 作业
[P3817 小A的糖果 小A有N个糖果盒,第i个盒中有a[i]颗糖果. 小A每次可以从其中一盒糖果中吃掉一颗,他想知道,要让任意两个相邻的盒子中加起来都只有x颗或以下的糖果,至少得吃掉几颗糖. [贪 ...
- 洛谷P1514 [NOIP2010提高组T4]引水入城
P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城 ...
- 【洛谷2019 OI春令营】期中考试
T68402 扫雷 题目链接:传送门 题目描述 扫雷,是一款单人的计算机游戏.游戏目标是找出所有没有地雷的方格,完成游戏:要是按了有地雷的方格,游戏失败.现在 Bob 正在玩扫雷游戏,你作为裁判要判断 ...
- 【动态规划】洛谷2019 OI春令营 - 普及组 作业
[P1464 Function] [题解] 按照题目意思进行递归即可,但是过程中需要用到记忆化搜索. #include<bits/stdc++.h> using namespace std ...
随机推荐
- iOS点击cell时,控件背景色消失的解决方法
同时调用一下两个方法: - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected ...
- Servlet开发(2)
Jsp&Servlet用户登录功能实现(采用MVC模式) 我们使用Jsp&Servlet开发一个用户登录功能的小项目(麻雀大小,但是五脏俱全呦,关键是技术问题!). 数据库:mysql ...
- Java电商项目-5.内容管理cms系统
目录 实现加载内容分类树功能 实现内容分类动态添加 删除内容分类节点 实现内容分类节点的分页显示 实现广告内容的添加 实现广告内容删除 实现广告内容编辑 到Github获取源码请点击此处 实现加载内容 ...
- Ubuntu 16.04通过Magent搭建Memcached集群(转)
一.下载Magent 官网:https://code.google.com/archive/p/memagent/downloads 离线版本:(链接: https://pan.baidu.com/s ...
- Cisco网络设备命名规则
1. CISCO 开头的产品都是路由器:2. RSP 开头的都是CISCO7500 系列产品的引擎:3. VIP 开头的产品都是CISCO 7500系列产品的多功能接口处理器模块:4. PA 开头 ...
- sdfs
<!DOCTYPE html><html><head><meta charset="GB18030"><title>In ...
- mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list<对应的object>就行了啊
mybatis返回list很智能很简答的,只需要配置resultmap进行类型转换,你dao方法直接写返回值list<对应的object>就行了啊 dao方法 public List< ...
- AE After Effect 渲染如何输出设置
各种输出设置值的对比情况. Microsoft Video1压缩方法情况(该模式下无法采用RGB+Alpha): 一 深度为"数千种颜色",缩放为1280×720(HDV/HDTV ...
- git fetch 和 git pull 的差别
Git中从远程的分支获取最新的版本号到本地有这样2个命令: 1. git fetch:相当于是从远程获取最新版本号到本地,不会自己主动merge git fetch origin master git ...
- poj 2728 最优比例生成树(01分数规划)模板
/* 迭代法 :204Ms */ #include<stdio.h> #include<string.h> #include<math.h> #define N 1 ...