上一页 1 2 3 4 5 6 7 ··· 30 下一页
摘要: Swapping Characters 题解: 先算出其他串和第一个串的字母个数是否相同。 再算出其他串和第一个串不同的字母位置个数。 然后枚举第一个串交换的位置。 计算交换之后的不同字母的位置个数。 如果个数为0,则至少有2个相同的字母。 如果个数为2,则说明交换那2个位置之后可以相同。 代码: 阅读全文
posted @ 2019-07-01 09:22 Schenker 阅读(237) 评论(0) 推荐(0) 编辑
摘要: Okabe and City 题解: 将行和列也视为一个点。 然后从普通的点走到行/列的点的话,就代表这行/列已经被点亮了。 然后将费用为0的点建上边。 注意讨论(n,m)非亮的情况下。 代码: #include<bits/stdc++.h> using namespace std; #define 阅读全文
posted @ 2019-06-30 17:55 Schenker 阅读(151) 评论(0) 推荐(0) 编辑
摘要: Professor GukiZ and Two Arrays 题解: 将a数组都sort一遍之后, b数组也sort一遍之后。 可以观察得到 对于每一个ai来说, 整个数组bi是一个V型的。 并且对于ai+1的最优解一定是在ai的右边。 然后我们将a数组 和 b数组枚举一遍。 然后再将a数组22组合 阅读全文
posted @ 2019-05-24 10:49 Schenker 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 代码: int e[50][50]; int cnt[N], group[N], sta[N], ans; int n; bool dfs(int u, int deep){ for(int i = u + 1; i <= n; ++i){ if(cnt[i] + deep <= ans) retu 阅读全文
posted @ 2019-05-24 09:47 Schenker 阅读(154) 评论(0) 推荐(0) 编辑
摘要: Helping Hiasat 题解: 如果我们把连续的2出现的人都相互连边的话, 题目就是问最大独立集的答案是多少。 求最大独立集可以将图变成反图, 然后求最大团。 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freo 阅读全文
posted @ 2019-05-24 09:40 Schenker 阅读(166) 评论(0) 推荐(0) 编辑
摘要: Big Secret 题解: 若 cur ^ x > cur 则 x2进制下最高位的1 所对应cur的那个位置是0, 否则数字一定变小。 我们可以将每个数的最高位找出来。 然后我们从低位去check某位是不是0。 虽然对于每个数来说都只要考虑最高位就好了, 但是相对的最高位会影响比他低位置的数, 低 阅读全文
posted @ 2019-05-22 16:06 Schenker 阅读(202) 评论(0) 推荐(0) 编辑
摘要: Kuro and GCD and XOR and SUM 题解: 对于每个值先找到所有的因子。 然后每次add的时候,在他的所有因子都加入这个数。 然后询问的时候询问这个数的因子所构成的字典树。 代码: #include<bits/stdc++.h> using namespace std; #de 阅读全文
posted @ 2019-05-22 13:02 Schenker 阅读(186) 评论(0) 推荐(0) 编辑
摘要: Beautiful Subarrays 题解: 把数字转化成2进制之后,用字典树去维护。 想到字典树之后就应该是一道很容易写的题目了。 代码: #include<bits/stdc++.h> using namespace std; #define Fopen freopen("_in.txt"," 阅读全文
posted @ 2019-05-20 16:36 Schenker 阅读(267) 评论(0) 推荐(0) 编辑
摘要: st-Spanning Tree 题解: 将除了s, t以外的点相联通的点缩成一个点。 然后将将这些点和分类, 1. 只和s相连, 2 只和t相连 3.同时和s, t相连。 对于1 2来说将他们都连到对应的点上去。 对于3来说,则是能连s就连s, 能连t就连t。 为了保证s, t联通, 我们将第3种 阅读全文
posted @ 2019-05-19 17:34 Schenker 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Time to Raid Cowavans 题意: 询问 下标满足 a + b * k 的和是多少。 题解: 将询问分块。 将b >= blo直接算出答案。 否则存下来。 存下来之后,对于每个b扫一遍数组,然后同时处理相同b的询问。 代码: #include<bits/stdc++.h> using 阅读全文
posted @ 2019-05-18 16:20 Schenker 阅读(206) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 30 下一页