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友谊赛(半日游)感想的更多相关文章

  1. 第一次学习手游开发:Flappy Bird制作

    周末有空,学习下手游开发,因为本人压根没有基础,于是找了个视频,跟着教程撸了个Flappy Bird. 感谢 SwiftV课堂 提供的教学视频 源码地址: https://github.com/phe ...

  2. 【转】lonekight@xmu·ACM/ICPC 回忆录

    转自:http://hi.baidu.com/ordeder/item/2a342a7fe7cb9e336dc37c89 2009年09月06日 星期日 21:55 初识ACM最早听说ACM/ICPC ...

  3. Skynet Pomelo Erlang Elixir 的认识

    1.skynet pomelo(node.js) elixir(erlang) 周末研究总结 手游这两年发展来看,感觉对实时性要求越来越高,有同事在研究Elixir开发,google得知这东西是基于e ...

  4. 从源码研究如何不重启Springboot项目实现redis配置动态切换

    上一篇Websocket的续篇暂时还没有动手写,这篇算是插播吧.今天讲讲不重启项目动态切换redis服务. 背景 多个项目或微服务场景下,各个项目都需要配置redis数据源.但是,每当运维搞事时(修改 ...

  5. 【cocos2d-x 手游研发----研发思路及感想】

          我半年前进入了目前的这家做教育行业的公司(在此之前一直从事原生态开发手游的迷茫之路),学习是一件很快乐的事情,来到这家公司我有了很多时间去学习,不管是公司业务,还是其他技术相关的.于是开始 ...

  6. 金中半日baoling游-----stoi

    蒟蒻又来水博客了,写个游记啦啦啦啦,好像是第一篇游记咯. 温馨提示:愚人节写的博客看了后会变棒棒哦!(麻麻再也不用担心我被骗) 进入正题 3月31日早6:30左右起床了,然后就是....(此处可省略) ...

  7. 微信小程序体验(2):驴妈妈景区门票即买即游

    驴妈妈因为出色的运营能力,被腾讯选为首批小程序内测单位.驴妈妈的技术开发团队在很短的时间内完成了开发任务,并积极参与到张小龙团队的内测问题反馈.驴妈妈认为,移动互联网时代,微信是巨大的流量入口,也是旅 ...

  8. 基于Adobe Flash平台的3D页游技术剖析

    写在前面 从黑暗之光,佛本是道,大战神的有插件3D页游.再到如今的魔龙之戒. 足以证明,3D无插件正在引领页游技术的潮流. 目前,要做到3D引擎,有以下几个选择. 说到这里,我们发现.这些都不重要. ...

  9. mmorpg手游中的战斗系统

    目前的项目是一款mmorpg手游, 非常不幸的是,当前战斗系统的实现非常脆弱, 也毫无技巧可言.具体存在如下问题: 1.战斗层逻辑与自动战斗AI逻辑混在一起, 互相纠缠. 2.战斗层自身逻辑混乱不堪, ...

随机推荐

  1. kubelet组件部署

    目录 前言 创建 kubelet bootstrap kubeconfig 文件 查看kubeadm为各个节点创建的token 查看各 token 关联的 Secret 创建和分发kubelet参数配 ...

  2. 线程锁&信号量&gil

    线程锁 线程锁的主要目的是防止多个线程之间出现同时抢同一个数据,这会造成数据的流失.线程锁的作用类似于进程锁,都是为了数据的安全性 下面,我将用代码来体现进程锁的作用: from threading ...

  3. 管道符和作业控制、shell变量、环境变量配置文件 使用介绍

    第6周第1次课(4月23日) 课程内容: 8.6 管道符和作业控制 8.7/8.8 shell变量8.9 环境变量配置文件扩展bashrc和bash_profile的区别 http://ask.ape ...

  4. VLAN实验5(在ensp上利用三层交换机实现VLAN间路由)

    原理概述: VLAN将一个物理的LAN在逻辑上划分成多个广播域.VLAN内的主机间可以直接通信,而VLAN间不能直接互通. 在现实网络中,经常会遇到需耍跨VLAN相互访问的情况,工程师通常会选择一些方 ...

  5. pngquant——一个好用的png压缩工具

    一个可以进行有损图片压缩的命令行工具和代码库. 网址:https://pngquant.org/ 1.为什么选择pngquant 传说中的神器——tinyPng 我们现在用的工具——ImageAlph ...

  6. python上下文管理器细读

    test 1 上下文管理器,将生成器转化为上下文管理器 import contextlib @contextlib.contextmanager def a(): print(1) yield pri ...

  7. 数据挖掘算法(三)--logistic回归

    数据挖掘算法学习笔记汇总 数据挖掘算法(一)–K近邻算法 (KNN) 数据挖掘算法(二)–决策树 数据挖掘算法(三)–logistic回归 在介绍logistic回归之前先复习几个基础知识点,有助于后 ...

  8. TypeScript - 泛型

    什么是泛型 官方是这样介绍的: 软件工程中,我们不仅要创建一致的定义良好的API,同时也要考虑可重用性. 组件不仅能够支持当前的数据类型,同时也能支持未来的数据类型,这在创建大型系统时为你提供了十分灵 ...

  9. 如何正确的使用Python解释器?你之前肯定用错了

    作为python开发者,当我们编写Python代码时,我们得到的是一个包含Python代码的以.py为扩展名的文本文件.要运行代码,就需要Python解释器去执行.py文件.由于整个Python语言从 ...

  10. 使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!!

    使用iCamera 测试MT9F002 1400w高分辨率摄像头小结 之!!看清细节!!! 本方案测试两种种分辨率输出(其他更多分辨率设置,可以参考手册配置) 4608*3288=1515万像素 11 ...