当前位置: 首页 > news >正文

糖果网站是李笑来做的吗简网app工场怎么创app

糖果网站是李笑来做的吗,简网app工场怎么创app,合肥软件开发公司哪家好,滑块验证wordpresslink. 突然很想写这篇题解。虽然题目不算难。 考场只有30分是为什么呢#xff1f;看来是我没有完全理解这道题目吧#xff01; 首先很明显的转换是#xff0c;把 T 型覆盖看成十字形#xff0c;再考虑最后减去某一块的贡献。 然后然后直接往原图上面放十字形!对于每一个…link. 突然很想写这篇题解。虽然题目不算难。 考场只有30分是为什么呢看来是我没有完全理解这道题目吧 首先很明显的转换是把 T 型覆盖看成十字形再考虑最后减去某一块的贡献。 然后然后直接往原图上面放十字形!对于每一个十字的中心来说实际上它只需要三个相邻的方块就可以了。而我们发现两个十字重合的部分不会超过两个方块也就是说把这两个方块任意分配给两个人就能保证这两个每个人都只会舍弃一个方块。 因为每次两个十字的重合最多只能让每个点丢弃一个方块并且每次重合至少有一个十字会丢弃掉一个方块所以惊天的结论是我们可以直接计算整个十字连通块的中心点和非中心点的个数。如果非中心点的个数大于等于中心点的个数的三倍那么当前连通块一定合法否则不能保证每个十字的中心点都能分配到刚好三个非中心点即无解。 但是可能有非中心点的个数大于中心点的个数的三倍。这种情况说明所有的十字都只重合了一个点那么必须要丢掉一个非中心点。因为要权值最大所以丢掉最小权值的就好了。 其实这个的实现方式有很多但是我使用了并查集。为什么呢因为其他题解就是用的并查集啊 然后并查集需要注意的点就是不能选择中心点啊。中心点的权值设为最大值好不好。 #includebits/stdc.h using namespace std;int n,m,k; int a[1000005]; int ID(int x,int y){return (x-1)*my; } int pre[1000005],dp[1000005]; int sz[1000005][2]; long long sum[1000005];bool vis[1000005];struct zz{int x,y; }t[1000005];int Find(int x){if(pre[x]!x) pre[x]Find(pre[x]);return pre[x]; } void Join(int x,int y){int fxFind(x),fyFind(y);if(fxfy) return ;pre[fy]fx,sum[fx]sum[fy],dp[fx]min(dp[fx],dp[fy]),sz[fx][0]sz[fy][0],sz[fx][1]sz[fy][1]; }int fx[5]{0,1,-1,0,0}; int fy[5]{0,0,0,1,-1};int main(){ // freopen(t-covering.in,r,stdin); // freopen(t-covering.out,w,stdout);cinnm;for(int i1;in;i) for(int j1;jm;j) scanf(%d,a[ID(i,j)]);cink;for(int i1,x,y;ik;i) scanf(%d%d,x,y),t[i](zz){x1,y1};for(int i1;ik;i) vis[ID(t[i].x,t[i].y)]1;for(int i1;in*m;i){pre[i]i,sum[i]a[i],dp[i]a[i],sz[i][vis[i]]1;if(vis[i]) dp[i]0x3f3f3f3f; }for(int i1;ik;i) for(int j1;j4;j){int xt[i].x,yt[i].y;int dxxfx[j],dyyfy[j];if(dx0||dxn||dy0||dym) continue;Join(ID(x,y),ID(dx,dy)); }long long ans0;memset(vis,0,sizeof vis);for(int i1;in;i) for(int j1;jm;j){int x(ID(i,j));int fxFind(x);if(vis[fx]) continue; vis[fx]1;if(sz[fx][0]sz[fx][1]*3) return printf(No\n),0;else if(sz[fx][0]sz[fx][1]*3) anssum[fx];else anssum[fx]-dp[fx];}coutansendl;return 0; }
http://www.hkea.cn/news/14432692/

相关文章:

  • 网站建设php实验报告如何建立一个学校网站
  • 一般做企业网站需要什么建网站的每年有费用
  • unity网站后台怎么做编程猫官网
  • 网站域名详解长沙微信网站建设
  • 贵阳好的网站建设公司谁家网站做的好
  • 网站建设的基础服务器聊城网站建设服务好
  • 网站运营公司排名商城网站建设那家好
  • 定制网站开发接私活免费企业名录数据
  • wordpress 手机编辑器河南优化网站
  • 做门户网站建设多少钱wordpress修改博客
  • jsp怎样做网站网站怎么做速排
  • 娄底市建设局网站公司招聘网
  • 网站标签title怎么开发手机app软件
  • 上海建设网站是多少wap免费
  • 网页设计书籍推荐网站优化怎么做的
  • 购物网站配色怎么设计seo推广培训
  • 建设银行网站打不开别的网站可以购物网站为什么做移动端
  • 网站 按钮 素材唐山建设工程造价信息网站
  • 同安网站建设linux做网站优势
  • 单位制作网站备案天津建设网工程信息网
  • 北京移动端网站简单去除wordpress主题版权
  • 网站开发如何无感更新WordPress的固态链接
  • 网站空间续费查询服装网站模板免费下载
  • 端口扫描站长工具高唐网站建设服务商
  • 有没有专门做中考卷子的网站亚洲建行网站打不开
  • 连云制作企业网站wordpress主题框架开发
  • 深圳微信网站惠州哪家做网站比较好
  • wordpress自动生成网站地图网站收录就是没排名
  • 网站建设设计咨询电商网站建设心得
  • 哪些网站是单页应用东莞创意网站设计效果图