暑假集训test-8-28
大概是从我一年以来做过的最傻逼的一套题了。。
一个半小时打完三个程序三个暴力拍完以为自己AK了,开心地耍了两个小时。
结果T3要写高精,LL炸了后4个点,中间还有个点是啥都不选的,我没用0去更新又炸了一个点,成功把自己炸成一个二百五。
1.最小生成树模板题,前天那道题的——弱化+大概期望你去写个prim但是kruskal也可以过你可以两个拍一拍——版
几百年没写过prim了
//Achen
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<cstdio>
#include<queue>
#include<cmath>
#include<set>
#include<map>
#define Formylove return 0
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
const int N=;
typedef long long LL;
typedef double db;
using namespace std;
int n,a[N][N]; template<typename T>void read(T &x) {
char ch=getchar(); x=; T f=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} int vis[N];
LL ans,dis[N];
#define inf 1e18
void prim(int n) {
For(i,,n) dis[i]=inf;
dis[n]=;
For(i,,n) {
int x=;
For(j,,n) if(!vis[j]&&(!x||dis[j]<dis[x])) x=j;
if(!x) break;
vis[x]=;
ans+=dis[x];
dis[x]=;
For(j,,n) if(!vis[j]&&dis[j]>dis[x]+a[x][j])
dis[j]=dis[x]+a[x][j];
}
} #define ANS
int main() {
#ifdef ANS
freopen("newstart.in","r",stdin);
freopen("newstart.out","w",stdout);
#endif
read(n);
For(i,,n) {
read(a[i][n+]);
a[n+][i]=a[i][n+];
}
For(i,,n) For(j,,n) read(a[i][j]);
prim(n+);
printf("%lld\n",ans);
Formylove;
}
/*
4
5 4 4 3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0
*/
2、智障型dp
//Achen
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<cstdio>
#include<queue>
#include<cmath>
#include<set>
#include<map>
#define Formylove return 0
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
#define inf 1e9+7
const int N=;
typedef long long LL;
typedef double db;
using namespace std;
int n,m,a[N][N],b[N][N],f[N][N],sum1[N][N],sum2[N][N]; template<typename T>void read(T &x) {
char ch=getchar(); x=; T f=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} #define ANS
int main() {
#ifdef ANS
freopen("industry.in","r",stdin);
freopen("industry.out","w",stdout);
#endif
read(n); read(m);
For(i,,n) For(j,,m) read(a[i][j]);
For(i,,n) For(j,,m) read(b[i][j]);
For(i,,n)
For(j,,m) sum1[i][j]=sum1[i][j-]+a[i][j];
For(i,,n) {
int sum=;
For(j,,m) {
sum+=b[i][j];
sum2[i][j]=sum2[i-][j]+sum;
}
}
For(i,,n) {
int mx=-inf;
For(j,,m) {
mx=max(mx,f[i-][j]-sum2[i-][j]);
f[i][j]=max(f[i][j],mx+sum1[i][j]+sum2[i-][j]);
}
}
int ans=;
For(j,,m) ans=max(ans,f[n][j]+sum2[n][m]-sum2[n][j]);
printf("%d\n",ans);
Formylove;
}
/*
4 4
0 0 10 9
1 3 10 0
4 2 1 3
1 1 20 0
10 0 0 0
1 1 1 30
0 0 5 5
5 10 10 10
*/
3、会写高精的话比上面还智障,三方dp就可以得到70。如果再不那么智障一点点,贪心地把直接减血的塔放最后二方dp就可以过了。
我懒得写高精了,用__int128水过去了。。
//Achen
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdlib>
#include<vector>
#include<cstdio>
#include<queue>
#include<cmath>
#include<set>
#include<map>
#define Formylove return 0
#define For(i,a,b) for(int i=(a);i<=(b);i++)
#define Rep(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long LL;
typedef double db;
using namespace std;
__int128 f[][],n,r,g,b,T; template<typename T>void read(T &x) {
char ch=getchar(); x=; T f=;
while(ch!='-'&&(ch<''||ch>'')) ch=getchar();
if(ch=='-') f=-,ch=getchar();
for(;ch>=''&&ch<='';ch=getchar()) x=x*+ch-''; x*=f;
} void print(__int128 x){
if (x==) return;
if (x) print(x/);
putchar(x%+'');
} #define ANS
int main() {
#ifdef ANS
freopen("antbuster.in","r",stdin);
freopen("antbuster.out","w",stdout);
#endif
read(n); read(r); read(g); read(b); read(T);
__int128 ans=;
memset(f,,sizeof(f));
f[][]=;
For(i,,n)
For(j,,i) {
int gc=j,tc=i-j;
f[i][j]=max(f[i-][j-]+(T+tc*b)*(gc-)*g,f[i-][j]+(T+(tc-)*b)*gc*g);
ans=max(ans,f[i][j]+(n-i)*(T+tc*b)*(r+g*gc));
}
ans=max(ans,f[][]+n*T*r);
print(ans);
Formylove;
}
/*
1024 6545 65436 1146 6436
*/
暑假集训test-8-28的更多相关文章
- STL 入门 (17 暑假集训第一周)
快速全排列的函数 头文件<algorithm> next_permutation(a,a+n) ---------------------------------------------- ...
- 2015UESTC 暑假集训总结
day1: 考微观经济学去了…… day2: 一开始就看了看一道题目最短的B题,拍了半小时交了上去wa了 感觉自己一定是自己想错了,于是去拍大家都过的A题,十分钟拍完交上去就A了 然后B题写了一发暴力 ...
- 暑假集训Day2 互不侵犯(状压dp)
这又是个状压dp (大型自闭现场) 题目大意: 在N*N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案.国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子. ...
- 暑假集训Day1 整数划分
题目大意: 如何把一个正整数N(N长度<20)划分为M(M>=1)个部分,使这M个部分的乘积最大.N.M从键盘输入,输出最大值及一种划分方式. 输入格式: 第一行一个正整数T(T<= ...
- 2013ACM暑假集训总结-致将走上大三征途的我
回想起这个暑假,从开始与雄鹰一起的纠结要不要进集训队,与吉吉博博组队参加地大邀请赛,害怕进不了集训队.当时激励我月份开始接触的,记得当时在弄运动会来着,然后就问了雄鹰一些输入输出的东西,怀着满心的期待 ...
- [补档]暑假集训D5总结
%dalao 今天又有dalao来讲课,讲的是网络流 网络流--从入门到放弃:7-29dalao讲课笔记--https://hzoi-mafia.github.io/2017/07/29/27/ ...
- [补档]暑假集训D1总结
归来 今天就这样回来了,虽然心里极其不想回来(暑假!@#的只有一天啊喂),但还是回来了,没办法,虽然不喜欢这个地方,但是机房却也是少数能给我安慰的地方,心再累,也没有办法了,不如好好集训= = %da ...
- 暑假集训(2)第七弹 -----今年暑假不AC(hdu2037)
J - 今年暑假不AC Crawling in process... Crawling failed Time Limit:1000MS Memory Limit:32768KB 64 ...
- [补档]暑假集训D6总结
考试 不是爆零,胜似爆零= = 三道题,就拿了20分,根本没法玩好吧= = 本来以为打了道正解,打了道暴力,加上个特判分,应该不会死的太惨,然而--为啥我只有特判分啊- - 真的是惨. 讲完题觉得题是 ...
- [补档]暑假集训D4总结
考试 爆零了,不开心,打了两道自己以为是正解的东西,打了两道样例骗分,结果发现并没有给样例分= =,自己以为的正解也打挂了,所以就很= = 但是没办法啊,自己弱也不能怪谁,考试这东西有时候也很玄学. ...
随机推荐
- vue全家桶(vue2.x+vue-router+axios+webpack)项目搭建
参考博客文章 博主FungLeo的Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版 注:原博主写的非常详细 本文章为根据原博主教程总结的自己的搭建流程 一.安装n ...
- CSV (逗号分隔值文件格式)
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文本意味着该文件是一个字符序列,不 ...
- Delphi 打印纸张选项设置参数
{ paper selections } {$EXTERNALSYM DMPAPER_LETTER} DMPAPER_LETTER = 1; { Letter 8 12 x 11 in } {$EXT ...
- hihoCoder [Offer收割]编程练习赛3 D子矩阵求和
子矩阵求和 http://hihocoder.com/discuss/question/3005 声明一下: n是和x一起的,m是和y一起的 x是横着的,y是纵着的,x往右为正,y往下为正 (非常反常 ...
- CentOS7用rpmforge源!
确认系统是否安装了priority这个yum的插件,这个插件用来保证安装软件时候软件仓库先后次序,一般是默认先从官方base或者镜像安装,然后从社区用户contribute的软件中安装,再从第三方软件 ...
- switch type 类型判断
golang 语言中 也有 类是 javascript 的 typeof 判断类型的 方法 比如 func (a interface{}){ //第一种 if inst,ok:=a.(TypeA);o ...
- ThreeJS模型展示为黑色,模型出不来
选取gltf格式时,出现模型为黑色,模型出不来 原因: 我们设计部可能是用maya或者3dmax去做:在模型导出时,没有gltf格式:如果maya或者3dmax导出obj然后导进blender,再导出 ...
- 并发编程(五)——GIL全局解释器锁、死锁现象与递归锁、信号量、Event事件、线程queue
GIL.死锁现象与递归锁.信号量.Event事件.线程queue 一.GIL全局解释器锁 1.什么是全局解释器锁 GIL本质就是一把互斥锁,相当于执行权限,每个进程内都会存在一把GIL,同一进程内的多 ...
- 记录阿里云ECS搭建Wordpress(Centos7+LAMP)
占位 改变wordpress文件夹属主属组 cd /var/www/html chown -R apache:apache wordpress <VirtualHost *:> Docum ...
- linux更新grub内核启动参数的方法
#!/bin/bash set -x set -e export PS4=+{$LINENO:${FUNCNAME[0]}} trap 'echo "---NEWKERNARGS=$NEWK ...