牛客多校Round 3
Solved:2
rank:306
跑路场.....
A.PACM team
简单背包记录路径都写挂 退役算了
#include <bits/stdc++.h>
using namespace std; int p[];
int a[];
int c[];
int m[];
int g[];
int dp[][][][];
int vis[]; int main()
{
int n;
scanf("%d", &n);
for(int i = ; i <= n; i++)
scanf("%d%d%d%d%d", &p[i], &a[i], &c[i], &m[i], &g[i]);
int P, A, C, M;
scanf("%d%d%d%d", &P, &A, &C, &M); for(int i = ; i <= n; i++)
{
for(int i1 = P; i1 >= p[i]; i1--)
for(int i2 = A; i2 >= a[i]; i2--)
for(int i3 = C; i3 >= c[i]; i3--)
for(int i4 = M; i4 >= m[i]; i4--)
dp[i1][i2][i3][i4] = max(dp[i1][i2][i3][i4], dp[i1 - p[i]][i2 - a[i]][i3 - c[i]][i4 - m[i]] + g[i]);
} int cnt = ;
int tmp = P, tma = A, tmc = C, tmm = M;
for(int i = n; i >= ; i--)
{
if(tmp < p[i] || tma < a[i] || tmc < c[i] || tmm < m[i]) continue; if(dp[tmp][tma][tmc][tmm] == dp[tmp - p[i]][tma - a[i]][tmc - c[i]][tmm - m[i]] + g[i])
{
vis[i] = ; cnt++;
tmp -= p[i];
tma -= a[i];
tmc -= c[i];
tmm -= m[i];
}
}
printf("%d\n", cnt);
for(int i = ; i <= n; i++)
{
if(vis[i])
{
cnt--;
if(cnt) printf("%d ", i - );
else printf("%d\n", i - );
}
} return ;
}
E.Sort String
next数组的应用
#include <bits/stdc++.h>
using namespace std; char s[];
int nex[];
void getfail(char *s, int* f)
{
f[] = f[] = ;
int len = strlen(s);
for(int i = ; i < len; i++)
{
int j = f[i];
while(j && s[i] != s[j]) j = f[j];
f[i + ] = s[i] == s[j] ? j + : ;
}
} int main()
{
scanf("%s", s);
getfail(s, nex);
int len = strlen(s); if(len % (len - nex[len]) == && len / (len - nex[len]) != )
{
int cir = len - nex[len];
int cn = len / cir;
printf("%d\n", cir);
for(int j = ; j < cir; j++)
{
printf("%d", cn);
for(int k = j; k < len; k += cir)
printf(" %d", k);
puts("");
}
}
else
{
printf("%d\n", len);
for(int i = ; i < len; i++)
printf("%d %d\n", , i);
} return ;
}
牛客多校Round 3的更多相关文章
- 牛客多校Round 10
咕咕咕.... 去烽火台和兵马俑了
- 牛客多校Round 9
Solved:1 rank:112 E. Music Game 题解说有个非简化的原题 bzoj4318 #include <bits/stdc++.h> using namespace ...
- 牛客多校Round 8
Solved:2 rank:164 签了两个oeis,但这样真的开心嘛
- 牛客多校Round 6
Solved:3 rank:156 J. Heritage of skywalker 学习一下nth_element 可以o (n)的找出前多少大的元素 #include <bits/stdc+ ...
- 牛客多校Round 5
Solved:3 rank:195 F. take 官方题解:小 A 在打开第 i 个箱子后会交换手中的钻石和第 i 个箱子中的钻石 当且仅当第 i个箱子的钻石是前 i 个箱子打开后出现的所有钻石里最 ...
- 牛客多校Round 4
Soved:3 rank:133 A.Ternay String 欧拉降幂一下 但是反复求phi会超时 但mod是同一个就可以记忆化一下 #include <bits/stdc++.h> ...
- 牛客多校Round 2
Solved:3 rank:187 H.travel 题意:给一颗带有点权的树 找三条不相交的链 使得点权最大 题解:使用树形DP dp[x][i][0/1] 表示x节点选择i条链 有没有经过x的链 ...
- 牛客多校Round 1
Solved:1 rank:249 E. Removal dp i,j表示前i个数删除了j个且选择了第i个的答案 类似字符串的dp 预处理一下nex i_k即i后面k第一次出现的位置 就好转移了 # ...
- 2019牛客多校第一场 I Points Division(动态规划+线段树)
2019牛客多校第一场 I Points Division(动态规划+线段树) 传送门:https://ac.nowcoder.com/acm/contest/881/I 题意: 给你n个点,每个点有 ...
随机推荐
- 阿里电话面试问题----100万个URL怎样找到出现频率最高的前100个?
内推阿里电话面试中面试官给我出的一个题: 我想的头一个解决方式.就是放到stl 的map里面对出现的频率作为pair的第二个字段进行排序.之后依照排序结果返回: 以下口说无凭,show your co ...
- Android Studio常见问题
1.导入他们项目时出现R文件出错 首先我们须要了解的是Android studio 是基于gradle的编译模式,内部没有gen文件夹更没有R文件,可是既然它报了这个错.肯定是有原因的.即Gradle ...
- 蓝桥 ADV-232 算法提高 矩阵乘法 【区间DP】
算法提高 矩阵乘法 时间限制:3.0s 内存限制:256.0MB 问题描述 有n个矩阵,大小分别为a0*a1, a1*a2, a2*a3, ..., a[n-1]*a[n],现要 ...
- .NET下为百度文本编辑器UEditor增加图片删除功能
[摘要:比来写了个项目,用到了UEditor,但是UE并出有文件删除功效 然后网上找若何增加 找半天只能找到一个1.2.X的 以是便摹仿PHP的 改成了.NET的 PHP本文 第一步 (增加背景删除地 ...
- robo 3t 在 ubuntu下安装
如果您尝试安装最新版本robomobo调用可以现在robo3t.或者你尝试在Ubuntu 16.04上安装,按照下面的步骤和你的robomongo安装 下载最新的robomongo tar文件 wge ...
- MySQL 基础 —— 数据类型、各种变量
1. 基本数据类型 char:prod_id char(10),括号内的内容表示字符的长度 decimal:十进制,不带参数为整数(四舍五入) text:文本类型,长度不限 2. 日期和时间处理函数 ...
- weiphp插件开发注意
插件命名要规范,插件名文件名,控制器名,模型名要以大写开头.不然的话会有惊喜!╮(╯▽╰)╭
- MySQL故障处理一例_Another MySQL daemon already running with the same unix socket
MySQL故障处理一例:"Another MySQL daemon already running with the same unix socket". [root@test- ...
- Visual Studio 相关
基础配置: 背景色:豆沙绿(色调84 饱和度118 亮度205) 字体字号:Consolas 11号 离线下载方法: vs_enterprise.exe --layout c:\vs2017offl ...
- Linux用户、用户组权限管理详解
Linux用户管理三个重要文件详解: Linux登陆需要用户名.密码./etc/passwd 文件保存用户名.登录Linux时,Linux 先查找 /etc/passwd 文件中是否有这个用户名,没有 ...