- 博客(9)
- 资源 (9)
- 收藏
- 关注
原创 Codeforces Gym 100379L Game with a string 博弈+交互题
题目大意:有26堆石子,你可以选其中的若干堆取走每个选定堆中的一颗石子,没法取的人失败。你需要选择先手和后手,然后与程序交互,给出必胜的方案。做法:我们先看只有一堆的情况,如果这一堆中的石子数为偶数,那么先手必败,反之如果是奇数,那么先手必胜;我们可以推广到26堆的情况,如果不存在奇数堆的石子那么先手必败,否则先手必胜。至此,我们得到了一个最优方案。如果不存在奇数堆的石子那么我们选则后手,否则
2015-09-06 14:31:17 1994
原创 Codeforces Gym 100203D Different vectors 最小表示法
题目大意:有一组序列,询问有能分成几组使得每一组中的序列都互成双射做法:将每组序列接成环把每一个元素替换成上一次该元素出现的位置与现在的位置的距离将新的序列做一遍最小表示法将最小表示的序列加到set中最后答案即为set的大小代码: 12548936 2015-08-15 17:29:14 NKWBTB D - Different vectors GNU C++
2015-09-06 14:11:46 741
原创 URAL 1779 The Great Team 构造题
题目大意:要求构造一个n个点的无向图,使得不存在>=3个点的度数一致构造方法:这题有很多构造方法;既然不存在>=3个点的度数一致,那么我们使得相同度数的点都只有2个;不妨画一画观察一下 -我们值观察4、6、8的构造的话会发现,如果我们4个一组,每个组中的最后两个点连一条边,然后最后这两个点分别隔一个点向前面的点各连一条边,这样就形成一组合法的构造方案。因为它使前面的点的度数都增加了1,同时
2015-09-06 13:48:12 971
原创 Codeforces Gym 100345A BibTeX 模拟
题目大意:给一个BibTex的代码,要求你将引用格式化Sample:Input@book { author = “Donald Ervin Knuth”, title = “The Art of Computer Programming”, volume = “1”, publisher = “Addison-Wesley Professional”, year = “1997” }
2015-09-06 13:10:01 689
原创 Codeforces Gym 100345H Settling the Universe Up Bitset+倒推
题目大意:给一个只从标号小的点向标号大的点连边的有向图(n<=200)。有如下几种操作: ? u v(询问u能否到v) + u v (加一条u到v的边) - u v (删除u到v的边) 以上操作保证u做法:用bitset维护每个点能到的点对于每一次?操作可以O(1)O(1)回答对于每一次修改操作从后往前推暴力重构bitset并统计答案,时间复杂度O((n+m)∗n)O( (n+m)
2015-09-06 12:50:55 668
原创 Codeforces Gym 100342F Move to Front 平衡树
题目大意:有一个链表其中的元素为1->2->3->4->…….->INF,每次询问一个元素在链表中的位置,然后把该元素放到链表的首位置。做法:beta version如果输入数字不大,那么我们可以直接先把1到最大数字打上时间戳加到平衡树(按时间戳从新到老排序)里面去;每次询问,就询问时间戳在平衡树中的rank即可;在平衡树中删除该时间戳,将该数重新打上一个新的时间戳加入到平衡树中即可(相当于移
2015-09-06 11:53:38 1280
原创 Codeforces Gym 100342H Hard Test 构造
题目大意:你需要造一个n个点m条边的有向图,使得所有点都能被1访问到,且dijkstra算法在该图上更新次数最多。为避免麻烦,你的构造方案应当使得每次更新后没有vis的有最小的dis的点只有一个(dis和vis都是dijkstra算法中的意义)。胡扯:这道题构造方法有很多种,我是用的最无脑的那一种做法:注意到,要使得dijkstra更新次数最多,那么就是使得每一条边被枚举到的时候都进行一次有效更
2015-09-06 11:28:42 659
原创 Codeforces Gym 100342J Triatrip Bitset+枚举
题目大意:给一个有向图(n<=1500),问有多少个三元环。做法:用bitset保存每个点能到的点以及能到某个点的所有点对每个点(记为U)逐一枚举,再枚举该点能到达的点(记为V)将能到U点的bitset与V能到的点的bitset取交集,答案+=交集大小最终答案÷3即可时间复杂度O(n3)O(n^3),但是bitset将常数除以了32所以足够通过本题。 4543664 WHU_FFT
2015-09-06 10:50:01 800
原创 Codeforces Gym 100341I Hungry Queen 2 Set+模拟
题目大意:在一个无穷大的棋盘上有一个皇后在(0,0)点,皇后可以上下左右或者沿对角线移动。有n个卒,皇后要按卒的输入顺序吃卒,每次移动必须吃掉一个卒,皇后不能跳过卒。问皇后最多能吃掉几个卒?做法:先将所有卒的位置(x、y、x+y、x-y)离散化;用set分别记录,在同一行(按y排序)、同一列(按x排序)、同一对角线的卒;模拟皇后的移动,每次在当前位置与下一个卒的位置所确定的set中查找下一个卒
2015-09-06 10:32:19 774
直方图图象检索 Python
2018-02-27
对时程序DEMO Python
2018-02-27
哈夫曼编码 C++
2018-02-27
易语言初学者程序包!!!
2011-03-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人