题目链接 https://nanti.jisuanke.com/t/19976 题意 给出 一个n 然后 给出 2*n 个数 可以重新排列成两行 然后 相邻的两个数 加起来 不能被三整除 可以上下相邻 也可以 左右相邻 思路 因为相加 根据同余定理 我们可以先把 每个数 模3 因为 可以重新排列 那么我们不妨 以最优的方式去排 看能不能得到 YES 很显然 , 0 和 0 1 和 2 不能放在一起 也就是说 0 要摆放的话 肯定是错位摆放的 比如这样 星号 表示 空位 那么很显然 0 的个数不能…
题目链接 https://nanti.jisuanke.com/t/19972 题意 给出一个n 然后将 n 个数 标号为 1 -> n 按顺序排列 每次抽掉 奇数位的数 然后求最后剩下那个数字的编号 思路 可以模拟一下过程 就可以发现规律 比如 n = 9 那么 1 2 3 4 5 6 7 8 9 抽掉后 就是 2 4 6 8 我们可以把这四个数字 / 2 就是 1 2 3 4 然后 可以发现 其实是递归的子问题 这个是n = 4 的情况 抽掉后 可以发现 留下 2 4 再 做除法 剩下 1…
题目链接 https://nanti.jisuanke.com/t/19975 题意 Alice 和 Bob 玩游戏 在一个4x4 的方格上 每个人 每次选择2x2的区域 将里面的四个值求和加到最后的分数当中(两个人共用一个分数),然后逆时针翻转他们,Alice 想要分数尽量打 Bob 想要分数尽量小 两个人每次的选择 都是最优的 求最后的分数 思路 玩的次数为 2k k最大为3 数据比较小,想暴力. 我们从后面往前思考 假如我们知道这个棋盘最后一步的状况,那么这时候轮到Bob 选择区域 那么它…
题目链接 https://nanti.jisuanke.com/t/19979 题意 给出n个点 m 条边 求选出最大的点数使得这个点集之间 任意两点不可达 题目中给的边是有向边 思路 这道题 实际上是求 二分图的最大独立集 二分图的最大独立集 = 顶点数 - 二分图最大匹配 相关概念: https://blog.csdn.net/whosemario/article/details/8513836 那操作就是 先Flyod 跑出 可达矩阵 再二分匹配 答案就是 n - res AC代码 #pr…
题目大意:给你一个n,然后从1~n隔一个选一个,挑出一个集合然后从集合中继续隔一个挑一个,直到只有一个数,问最后一个数是多少?2<=n<=1050 例如n=5,先选出2,4最后选择4.n=12,先选出2,4,6,8,10,12,再选出4,8,12在选出8. 可以发现这个数字一定是偶数,并且是比n小中被2除最多次的一个数,所以发现就是找一个2的幂次的小于n的最大的数.代码如下: #include<cstdio> #include<algorithm> #include&l…
题意: 给定一个2 * n的矩阵, 和 2 * n 个数, 问能不能通过重排列, 使得任意相邻两数不能被3整除 分析: 这题一直卡到最后, 赛后经对面大佬提醒后, 发现统计所有数模三的结果(0,1,2三种), 然后考虑怎么去“构造”符合这样的矩阵就行. 本地只过了用例和一些小数据, 等一个重现赛. #include <bits/stdc++.h> using namespace std; + ; int n; ]; int _0,_1,_2; bool judge() { if(_0 >…
luogu 1327 数列排序 题意 给定一个数列\(\{an\}\),这个数列满足\(ai≠aj(i≠j)\),现在要求你把这个数列从小到大排序,每次允许你交换其中任意一对数,请问最少需要几次交换? 思路 找循环节.答案即为 (循环节的长度\(-1\)) 对所有循环节求和. 如果只能交换相邻两个,那么就是求逆序对个数.因为交换相邻两个数字的效果是使逆序对个数\(-1\). Code #include <bits/stdc++.h> #define maxn 100010 using name…
转载请注明出处: http://www.cnblogs.com/fraud/          ——by fraud 下午在HDU上打了一下今年北京区域赛的重现,过了5题,看来单挑只能拿拿铜牌,呜呜. 先将这五题的题解放上来,剩余题目等搞出来再补上 A题 A Curious Matt Time Limit: 2000/2000 MS (Java/Others)    Memory Limit: 512000/512000 K (Java/Others) Problem Description T…
2019上海区域赛现场赛总结 补题情况(以下通过率为牛客提交): 题号 标题 已通过代码 通过率 我的状态 A Mr. Panda and Dominoes 点击查看 5/29 未通过 B Prefix Code 点击查看 249/1019 通过 C Maze 点击查看 8/110 未通过 D Spanning Tree Removal 点击查看 88/211 通过 E Cave Escape 点击查看 53/553 通过 F A Simple Problem On A Tree 点击查看 66…
当初合肥区域赛的题(现场赛改了数据范围就暴力过了),可惜当初后缀数组算法的名字都没听过,现在重做下. i从1到n - 1,每次枚举rank[i]附近的排名,并记录当起点小于i时的LCP(rank[i], d)的最大值,或是在LCP不变时更新起点. #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cstdlib> using nam…