关闭
当前搜索:

bzoj 3356: [Usaco2004 Jan]禁闭围栏 离散化+树状数组

新博客链接:https://www.everlasting.wang/archives/228...
阅读(38) 评论(0)

bzoj 4756: [Usaco2017 Jan]Promotion Counting

→题目链接← 【想说的话】 没有写过树状数组... 这算是我 树状数组初体验 ? 【题解】 先按能力值从大到小排序,然后找到每个牛的名次 之后一边dfs,一边用树状数组统计 【代码】 #include #define MAXN 100010 using namespace std; inline int rd(){ int x=0,y=1;char ...
阅读(50) 评论(0)

bzoj 3362: [Usaco2004 Feb]Navigation Nightmare 导航噩梦 带权并查集

→题目链接← 【想说的话】 一道带权并查集好(水)题 以前觉得带权并查集挺屌的... 但是写过才发现就是正常的并查集顺便维护点什么东西... 好像我写的有点暴力啊...跑的好慢啊 【题解】 做并查集的过程中找根时不做路径压缩 然后对于每个点保存它到它的父亲节点需要在x轴和y轴上移动多少 每次合并x、y时找到y的根并记录从y移动到跟需要在x轴和y轴上移动多少 然后...
阅读(70) 评论(1)

bzoj 3397: [Usaco2009 Feb]Surround the Islands 环岛篱笆

→题目链接← 令人一看样例就不想做的题... 题面说的很麻烦..但是仔细想一想就是问一个点到其它点距离的和的最小值 用并查集将岛屿处理出来 将每个岛屿看作一个点 然后一边输入就能一边处理出岛屿间的距离 最后暴力求和取min就好 代码: #include #include #define inf 233333333 using namespace std; in...
阅读(90) 评论(0)

bzoj 1083: [SCOI2005]繁忙的都市 并查集

→题目链接← 使n个点联通显然的是n-1条边 将边以长度从小到大排序,如果目前的边的两端点不在同一集合中,就选择这个边,这显然是最优的 代码: #include #include #include using namespace std; struct edge{ int s,t,len; friend bool operator < (edge a,edge b)...
阅读(69) 评论(0)

bzoj 3016: [Usaco2012 Nov]Clumsy Cows 栈

→题目链接← 说是栈,其实就用一个变量记录下就好,我用的sum 碰到(就++,碰到)就-- 当sum为负时一定是不合法的,这时候一定要改一下,所以ans++ 然后令sum等于1,因为把一个不合法的)改成了( 最后如果sum大于0,就说明还要改sum/2次 所以最后ans=ans+sum/2 代码: #include #include #include #includ...
阅读(108) 评论(0)
    -广告-
    一个极其温馨的提示
    个人资料
    • 访问:48284次
    • 积分:1744
    • 等级:
    • 排名:千里之外
    • 原创:127篇
    • 转载:1篇
    • 译文:0篇
    • 评论:22条
    最新评论