牛客多校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个点,每个点有 ...
随机推荐
- [Java][Android] 多线程同步-主线程等待全部子线程完毕案例
有时候我们会遇到这种问题:做一个大的事情能够被分解为做一系列相似的小的事情,而小的事情无非就是參数上有可能不同样而已! 此时,假设不使用线程,我们势必会浪费许多的时间来完毕整个大的事情.而使用线程的话 ...
- kernel devel 安装与卸载
1.查看系统内核 uname -r 2.查看已安装kernel-devel uname -a ; rpm -qa kernel\* | sort 3.下载对应的rpm wget xxx/kernel- ...
- [英语学习]微软面试前英语集训笔记-day 1
最近有机会参加微软面试前的英语集训. 第一天是由wendy老师主讲.热场题目是介绍你自己.包括你的姓名,家庭hobby,爱好,专业,学校,工作经历等等. 接下来的主题是friendship.给我印象较 ...
- android studio 使用
java5-7适用android,java8对安卓支持不好. mac osx 需要安装jdk8, google Nexus模拟器, Intellij是JetBrains发布的. Intellij有2个 ...
- android 使用AlarmManager定时启动service
private static AlarmManager am; private static PendingIntent pendingIntent; /** * 使用 AlarmManager 来 ...
- hdoj--2186--悼念512汶川大地震遇难同胞——一定要记住我爱你(模拟水题)
悼念512汶川大地震遇难同胞--一定要记住我爱你 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- P2610 [ZJOI2012]旅游 树的直径
这个题就是建图不太好建,但是我们一想,三角形貌似只能两两挨着,最后会变成一个二叉树,所以问题就变成求树的直径.建图用pair套map超级简单. 题干: 到了难得的暑假,为了庆祝小白在数学考试中取得的优 ...
- [bzoj3073]Journeys
https://www.zybuluo.com/ysner/note/1295471 题面 \(Seter\)建造了一个很大的星球,他准备建造\(N\)个国家和无数双向道路.\(N\)个国家很快建造好 ...
- [Swift]通天遁地Swift
★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...
- Liunx中虚拟机远程复制文件SCP命令
1.首先在虚拟机中新建 CentOSA .CentOSB 从远处复制文件到本地目录 scp -r root@192.168.1.24:/root/aa ./ 从CentosB虚拟机器上的/root/a ...