周末DHU友谊赛(半日游)感想
DHU的校园挺好的啊,感觉教学楼啊,整体环境啊比咱学校好上一些,和大家一起出来有些春(冬)游的意味,食堂也是十分的宽敞,座位好多!
吐槽shu的食堂座位到饭点明显太少,食堂品类好多,shu的吃多了感觉没啥新奇的了呢。
然后友谊赛正题。昨天被徐州复现虐了,又打了广工的新生赛,打的还行叭,虽然没ak,真的挺想ak一次的(555估计没这机会了),所以今天的友谊赛也有报一些期待。
最后只有4题滚粗。
我还是没自己想象中的强啊。
前期70多分钟,我交题一直没反馈,我以为大家都这样?也看不了榜(怎么可能交题不给反馈,我真的sb)然后就一直做下去,
做到第四题,看到了别人能看榜,我就tm立刻叫志愿者了,才知道我机子的域名不对,.120搞到.119去了,然后才开始交题,还是挺sb的吧我,下次比赛碰到异常情况一定要第一时间举手找帮助。
然后我看到第四题,榜1也才第四题,其实我做前面的题速度还不错的,然后就在77~80分钟将这三道题全交了,都是1A,还挺舒服。当然后来发现第二题没读题面,直接写dfs有点亏~
然后就随便模拟匹配了个D题,没自己测好,WA了3发,应该先自己找特殊情况测的,WA可以省,不要让judge给你罚时啊~
然后E就没了,我等等去补,dfs?拓扑?
然后后面2个小时差不多读了剩下的题,然后一直在 想F,冲F(5发呀)
F就两个矩阵相乘,删去第一个矩阵的一行和第二个矩阵的一列使得答案最小,矩阵分别是n*m,和m*k的,都<=1000,
显然如果暴力矩阵乘法,nmk的复杂度承受不起,但题目里的矩阵考究的是以给非0元素的方式输入的,分别为p,q个,且数量都少于1000,少见必妖!所以以此为突破口;
我们记录第一个矩阵里的非0元素,输入第二个矩阵里的非0元素时,对p个第一矩阵中的元素遍历去生成我们的结果矩阵,复杂度可以降到p*q;细节见我的代码;
然后统计结果矩阵每行,每列的值,最后取 min(总的值-行-列+行列) 简单的容斥?反正就是把减了两遍的加上去即可。
(虽然这一步找最小值我想了好多假算法,比如删完行列的最大值,在统计列行的最大值,取更小,太假了,不具备一般情形。最后想到上面这个容斥,结论就显然正确了)
然后我的最终思路完全正确,但最后由于样例给的n=m=k,没测出来,我傻了,最后对sum[i][j] ,结果矩阵应该是n*k的,我用的都是 n和m ,md应该用n和k,真的sb,导致没冲过这题。我的青春结束了(滑稽)
细节上的处理呀,得自己造数据debug啊。
然后继续加油吧。贴个F代码。
#include <bits/stdc++.h>
#define debug(x) cout << #x << ": " << x << endl
using namespace std;
typedef long long ll;
const int maxn=1e3+;
const int INF=0x3f3f3f3f;
const int MOD=1e9+; ll sum[maxn][maxn];
ll sumr[maxn],sumc[maxn]; struct node
{
ll x,y,v;
}pp[maxn]; int main()
{
ios::sync_with_stdio(false);
cin.tie();
ll n,m,k;
while(cin>>n>>m>>k)
{
memset(sum,,sizeof(sum));
ll p,q,x,y,v;
cin>>p>>q;
for(ll i=;i<p;++i)
{
cin>>pp[i].x>>pp[i].y>>pp[i].v;
}
while(q--)
{
cin>>x>>y>>v;
for(ll i=;i<p;++i)
{
if(pp[i].y==x)
{
sum[pp[i].x][y]+=pp[i].v*v;
}
}
}
ll ans=;
for(ll i=;i<=n;++i)
{
sumr[i]=;
for(ll j=;j<=k;++j)
{
sumr[i]+=sum[i][j];
//debug(sum[i][j]);
ans+=sum[i][j];
}
cout<<endl;
}
for(ll j=;j<=k;++j)
{
sumc[j]=;
for(ll i=;i<=n;++i)
{
sumc[j]+=sum[i][j];
}
}
ll res=ans;
for(ll i=;i<=n;++i)
{
for(ll j=;j<=k;++j)
{
res=min(res,ans-sumr[i]-sumc[j]+sum[i][j]);
}
}
cout<<res<<endl;
}
return ;
}
周末DHU友谊赛(半日游)感想的更多相关文章
- 第一次学习手游开发:Flappy Bird制作
周末有空,学习下手游开发,因为本人压根没有基础,于是找了个视频,跟着教程撸了个Flappy Bird. 感谢 SwiftV课堂 提供的教学视频 源码地址: https://github.com/phe ...
- 【转】lonekight@xmu·ACM/ICPC 回忆录
转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...
- Skynet Pomelo Erlang Elixir 的认识
1.skynet pomelo(node.js) elixir(erlang) 周末研究总结 手游这两年发展来看,感觉对实时性要求越来越高,有同事在研究Elixir开发,google得知这东西是基于e ...
- 从源码研究如何不重启Springboot项目实现redis配置动态切换
上一篇Websocket的续篇暂时还没有动手写,这篇算是插播吧.今天讲讲不重启项目动态切换redis服务. 背景 多个项目或微服务场景下,各个项目都需要配置redis数据源.但是,每当运维搞事时(修改 ...
- 【cocos2d-x 手游研发----研发思路及感想】
我半年前进入了目前的这家做教育行业的公司(在此之前一直从事原生态开发手游的迷茫之路),学习是一件很快乐的事情,来到这家公司我有了很多时间去学习,不管是公司业务,还是其他技术相关的.于是开始 ...
- 金中半日baoling游-----stoi
蒟蒻又来水博客了,写个游记啦啦啦啦,好像是第一篇游记咯. 温馨提示:愚人节写的博客看了后会变棒棒哦!(麻麻再也不用担心我被骗) 进入正题 3月31日早6:30左右起床了,然后就是....(此处可省略) ...
- 微信小程序体验(2):驴妈妈景区门票即买即游
驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...
- 基于Adobe Flash平台的3D页游技术剖析
写在前面 从黑暗之光,佛本是道,大战神的有插件3D页游.再到如今的魔龙之戒. 足以证明,3D无插件正在引领页游技术的潮流. 目前,要做到3D引擎,有以下几个选择. 说到这里,我们发现.这些都不重要. ...
- mmorpg手游中的战斗系统
目前的项目是一款mmorpg手游, 非常不幸的是,当前战斗系统的实现非常脆弱, 也毫无技巧可言.具体存在如下问题: 1.战斗层逻辑与自动战斗AI逻辑混在一起, 互相纠缠. 2.战斗层自身逻辑混乱不堪, ...
随机推荐
- python模块IO
Python之模块IO io概叙 io模块提供了python用于处理各种类型I/O的主要工具,主要有三种类型的I/O:文本I/O,二进制I/O和原始I/O:这些都是通用类型,各种后备存储可使用其中的每 ...
- python内存-fromkeys
fromkeys 这个方法涉及到可变不可变类型,记录下测试代码 不可变类型 #可变类型-list x=["zx","zx2","zx3"] ...
- String类中常用的方法
@Test public void demo(){ // 以下为String中的常用的方法及注释, 最常用的注释前有**标注 String s = "abcdefg123456"; ...
- 格式化JS代码
平常在项目中经常会遇到下载别人的js文件都是加密过的,不方便阅读都是一整行, 个人无法进行阅读,浏览器能够识别出来,所以就可以使用浏览器进行格式化js代码: 1.打开浏览器chrome为例,打开使用j ...
- 生活小插曲(长篇连载,持续更新ing)^_^
这个帖子,长期记录一些小小的生活插曲 在北京朋友开店了-关于同学开快餐店的故事.今天下午听说这个朋友在附近开了一个店,下午5点多吧,出门去他那里去了.走路过去的.在那里聊了将近一个小时吧.对最近我们自 ...
- 用launchscreen.storyboard适配启动图方法
wwdc2019有session提出.到2020年4月,上架APP的启动图必须使用launchscreen.storyboard,不能再使用assert方式了.但是session没有给出如何适配.网上 ...
- 图库网站Unsplash高清原图爬虫【华为云技术分享】
[摘要] 写博客的好工具,快速获得高清图片 在百度图片爬虫小助手里,我开发了一个爬虫,来节约我写博客时搜集图片的时间. 但是,也出现了一些问题,主要有以下几点: 百度图片上的质量参差不齐,大部分图片质 ...
- 【开发者portal在线开发插件系列一】profile和基本上下行消息
前言: 开发者portal支持在线开发profile(即设备建模).在线开发插件.模拟应用管理设备.模拟设备上报数据接收命令.支持离线开发的profile和插件的上传部署,是合作伙伴快速集成设备.对接 ...
- mac本地如何搭建IPv6环境测试你的APP
转自:http://www.cocoachina.com/ios/20160525/16431.html 投稿文章,作者:请勺子喝杯咖啡(简书) IPv6的简介 IPv4 和 IPv6的区别就是 IP ...
- CodeForces-1006B-Polycarp's Practice
B. Polycarp's Practice time limit per test 2 seconds memory limit per test 256 megabytes input stand ...