牛客多校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个点,每个点有 ...
随机推荐
- android.app.Fragment与android.support.v4.app.Fragment不一致
在看法中用到的Fragment在类型转换的时候非常easy出现这样的问题: 对照代码: class MyFragmentPagerAdapter extends FragmentPagerAdapte ...
- 【HDU 4547】 CD操作
[题目链接] 点击打开链接 [算法] 分四种情况讨论 : 1. 当前目录和目标目录是同一目录,不需要变换,答案为0 2. 当前目录是目标目录的祖先,答案为当前目录的深度 - 目标目录的深度 3. 当前 ...
- TypeError: expected bytes-like object, not str
报错内容:TypeError: expected bytes-like object, not str 例: a = base64.b64encode(temp) 改为: a = base64.b64 ...
- [loj6089]小Y的背包计数问题
https://www.zybuluo.com/ysner/note/1285358 题面 小\(Y\)有一个大小为\(n\)的背包,并且小\(Y\)有\(n\)种物品. 对于第\(i\)种物品,共有 ...
- [转]使用git进行版本控制
使用git进行版本控制 本文将介绍一种强大的版本控制工具,git的基本使用.与之前svn工具类似,首先给出一些常见的使用需求,然后以这些需求为中心,来展开git的学习过程.由于我也是在学习当中所以其中 ...
- JSP共享范围
概念:对象的声明周期和可访问性称为作用域(scope). 注:有时候内置对象的作用域一旦设置就不能修改,其他对象(如JavaBean)可以设置他的作用域 作用域类型: Page:页面域(对象只对于它所 ...
- 函数bsxfun,两个数组间元素逐个计算的二值操作
转自http://www.cnblogs.com/rong86/p/3559616.html 函数功能:两个数组间元素逐个计算的二值操作 使用方法:C=bsxfun(fun,A,B) 两个数组A合B间 ...
- web自动化测试—selenium游览器多窗口操作
# coding=utf-8'''web游览器多窗口操作: 获取当前窗口句柄 current_window_handle 获取所有窗口句柄 window_handles 切换窗口 switch_to_ ...
- mysql百万数据分页查询速度
百万数据测试 ,; 受影响的行: 时间: .080ms ,; 受影响的行: 时间: .291ms ,; 受影响的行: 时间: .557ms ,; 受影响的行: 时间: .821ms ,; 受影响的行: ...
- array_column() 函数[二维数组转为一维数组]
array_column() 函数 输出数组中某个键值的集合[二维数组转为一位数组] <?php // 表示由数据库返回的可能记录集的数组 $a = array( array( 'id' =&g ...