- 博客(10)
- 收藏
- 关注
原创 AOJ Dictionary
原题链接https://onlinejudge.u-aizu.ac.jp/courses/lesson/1/ALDS1/4/ALDS1_4_C首先考虑用set秒杀:#include<bits/stdc++.h>using namespace std;set<string> S;int main(){ char ch[20]; string s; int n; cin >> n; for(int i = 0;i
2021-11-17 17:42:02
125
原创 Educational Codeforces Round 63 (Rated for Div. 2)C. Alarm Clocks Everywhere 辗转相除法求最大公因数
原题链接https://codeforces.com/contest/1155/problem/C题目大意:Ivan决定制定一个闹钟使得在他需要工作的时候叫醒他,但他又只想制定一个间隔为p的闹钟。例如:已知他需要被叫醒的时间为:,给出m个闹钟的间隔,问是否有一个闹钟能够满足他的要求,可以的话输出初始的闹钟时间和间隔的序号。解题思路:1、首先要记录下第一个需要被叫醒的时间。2、算出每次需要被叫醒的间隔的最大公因数。3、传入m个闹钟的间隔,判断是否满足条件,输出结果。辗转相除法(GC
2021-11-13 16:47:02
797
原创 Codeforces Round #675 (Div. 2)B. Nice Matrix
原题链接https://codeforces.com/problemset/problem/1422/B题目大意:给一个n*m的矩阵,每次可以让矩阵内的一个元素加一或者减一,让这个矩阵 的每一行和每一列都为回文,试求需要操作的最小步骤。解题思路:1、对矩阵中的每一个元素需要使才能保证条件成立。2、遍历矩阵中的每一个元素,每次操作的步骤最小的情况为取中第二大的元素为基准,使其余两个数都为这个基准。类似一个动点到三个定点的距离最短的情况,就变成了这三个数中最大的元素减最小的元素(下面的代码不
2021-11-07 17:17:29
345
原创 Educational Codeforces Round 104 (Rated for Div. 2)B. Cat Cycle
原题链接https://codeforces.com/contest/1487/problem/B题目大意:有段长度和AB两只猫。A猫从点出发每次向前走一步,到达1之后重新回到n点(即:),B猫从点出发,每次向后走一步,到达n之后回到1点(即:)但是A猫比B猫强壮,因此AB相遇时B会多向前走一步。问进行k此之后B猫的位置。解题思路:1、先想模拟,每次进行一次操作,但是给的数据的最坏时间是1e9 * 1e4,显然会超时。2、发现n为偶数时,AB不可能会相遇,因为A的位置为奇数时B的位置必为
2021-11-07 12:00:09
129
原创 Codeforces Round #646 (Div. 2)A. Odd Selection
原题链接https://codeforces.com/contest/1363/problem/A感觉这题很简单,但真的做了很久。题目大意:给个数中挑个数,判断是否能挑出的个数的和为奇数。解题思路:先统计奇数的个数和偶数的个数,再暴力搜索emmm……想不太到更好了解法。暴力搜索:先选择一个奇数,每次递加2,搜索到满足条件的情况时跳出循环。AC代码:#include<bits/stdc++.h> using namespace std;const
2021-11-04 22:52:03
136
原创 前缀和与差分数组
前缀和作用:降低查询时的时间复杂度。例如:有个数,从开始求和到,即,如果暴力计算个和的时间复杂度为;采用前缀和计算,每次计算的为,时间复杂度为。一维前缀和代码:for(int i = 1;i <= n;i ++){ b[i] = b[i - 1] + a[i];}二维前缀和代码:for(int i = 1;i <= n;i ++){ for(int j = 1;j <= m;j ++){ b[i][j] = b[
2021-11-04 22:35:50
197
原创 Codeforces Round #419 (Div. 2)B. Karen and Coffee差分及预处理
原题链接https://codeforces.com/contest/816/problem/B题目大意:有个咖啡配方,每种配方的合适温度为,给出种煮咖啡的方式,输出每种煮的方式符合种配方的整数温度的数量。解题思路:差分+预处理差分代码:int l, r; for(int i = 0; i < n ;i ++){ scanf("%d%d",&l,&r); a[l]++; a[r + 1]--; }
2021-11-03 18:27:43
92
原创 Codeforces Round #271 (Div. 2)B. Worms
原题链接https://codeforces.com/problemset/problem/474/B题目大意:有n个按一定顺序的洞a1, a2, ..., an,有m只虫子,每只虫子都必须从按顺序从a1开始爬,输出最后停下的时候落在哪个洞上。解题思路:1、前缀和。但是因为m中的元素无序,所以对每只虫子都要从头开始判断,时间复杂度为O()。会导致TEL。参考代码:#include<bits/stdc++.h>using namespace std;const int
2021-10-19 21:52:56
86
原创 Codeforces Round #256 (Div. 2)B. Suffix Structures
原题链接https://codeforces.com/problemset/problem/448/B题目大意:写入两个字符s和t,判断能否通过删除一个元素、交换元素的位置,使s变成t。若仅需要删除则输出automaton,若仅需要交换则输出array,若都需要则输出both,若无法实现则输出need tree。解题思路:(1)首先特判s.size()是否小于t.size(),小于这输出need tree。(2)用双指针判断能否仅通过删除实现,可以则输出automaton。(3)a[]统计s
2021-10-19 14:40:31
81
原创 Codeforces Round #746 (Div. 2) B. Hemose Shopping
原题链接:Problem - 1592B - Codeforceshttps://codeforces.com/problemset/problem/1592/B实现目标:对输入的数组A中的(r,l)进行交换排序,l-r>=x解题思路:发现 如果[n-x,x-1]这段范围不为空集 那么其中的内的数无法与任何数进行交换 而其他位置的数都能受一定限制地自由交换。算法实现:比较排序前后[n-x,x-1]范围内的数值是否相等来判断目标能否实现(毕竟里面的数无法进行交换就总存在一...
2021-10-10 09:55:15
133
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人