上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 32 下一页
摘要: 给定一张N个顶点M条边的无向图 每条边上带有权值 所有权值都可以分解成2^a*3^b的形式 q个询问,每次询问给定四个参数u、v、a和b,请你求出是否存在一条顶点u到v之间的路径,使得路径依次经过的边上的权值的最小公倍数为2^a*3^b 注意:路径可以不是简单路径 下面是一些可能有用的定义: 最小公 阅读全文
posted @ 2018-02-09 15:46 jack_yyc 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 将一个矩阵中的1和2分隔,求出最小的分隔代价 思路: 直接连边 所有点向四连块连边 其实也可以 正常的做法是狼到相邻的羊和空地,空地到相邻的空地和羊连一条流量为1的边 最后dinic 1 #include<iostream> 2 #include<cstdio> 3 #include<c 阅读全文
posted @ 2018-02-09 08:39 jack_yyc 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 原来的代码有一些问题。 主要是对于不一定存在的边如何去判断,首先要保证在一个splay里,然后保证彼此之间直接联通且x的右儿子是空的 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cstdlib> 5 # 阅读全文
posted @ 2018-02-08 21:38 jack_yyc 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一些点 支持插入边 删除边 保证图始终无环 询问两个点是否联通 思路: LCT裸题 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstdlib> 5 #include<cstring> 6 #i 阅读全文
posted @ 2018-02-07 13:24 jack_yyc 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1,翻转区间是[2,4]的话,结果是5 2 3 4 1 思路: splay 区间操作 %%%棒神 1 #include<iostream> 2 #include<cstdio> 3 #include<c 阅读全文
posted @ 2018-02-07 10:59 jack_yyc 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一副牌有N张不同的牌,编号依次为1到N 由于是新牌,所以牌是按照顺序排好的,从牌库顶开始,依次为1, 2,……直到N,N号牌在牌库底 为了发完所有的牌,进行N次发牌操作,在第i次发牌之前,连续进行R_i次销牌操作,R_i由输入给定。请问最后玩家拿到这副牌的顺序是什么样的 举个例子,假设N 阅读全文
posted @ 2018-02-07 08:44 jack_yyc 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 题目大意: n个数 选k个使和为奇数且最大 思路: 可以先将这n个数排序 然后先去最大的k个数 若和为奇数则直接输出 为偶数可以用没选的最大的奇数替换选了的最小的偶数或用没选的最大的偶数替换选了的最小的奇数 预处理出4个数组即可 1 #include<iostream> 2 #include<cst 阅读全文
posted @ 2018-02-06 21:10 jack_yyc 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 题目大意: X军团和Y军团正在激烈地作战 在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai 当一个巨型机器人的装甲值减少到0或者以下时,这个巨型机器人就被摧毁了 X军团有M个激光武器,其中第i个激光武器每秒可以削减一个巨型机器人Bi的装甲值 激光武 阅读全文
posted @ 2018-02-06 15:10 jack_yyc 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 在一个棋盘上,有N个黑色棋子 每次放到棋盘上一个黑色或白色棋子,如果是白色棋子,他会找出距离(曼哈顿)这个白色棋子最近的黑色棋子 对于每个白色棋子,输出距离这个白色棋子最近的黑色棋子的距离 同一个格子可能有多个棋子 思路: 直接kd tree裸题 1 #include<iostream> 阅读全文
posted @ 2018-02-06 10:56 jack_yyc 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 一个黑白方格图 支持单点修改 查询黑色与白色联通快个数 思路: 可以把每一行压为一个点 使用线段树来维护 然后两行合并的时候使用并查集来合并 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cs 阅读全文
posted @ 2018-02-05 22:18 jack_yyc 阅读(175) 评论(0) 推荐(0) 编辑
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 32 下一页