- 博客(15)
- 收藏
- 关注
原创 codeforces Good Bye 2022: 2023 is NEAR C-D
Good Bye 2022: 2023 is NEAR C-D
2023-01-14 15:39:30
339
原创 Codeforces Round #768 (Div. 2)
A Min Max Swap题意给定长度为n的数组a和b,可以进行如下任意次数的操作:选择一个下标 i(1≤i≤n)i (1 \le i \le n )i(1≤i≤n), 交换 a[i]a[i]a[i] 和 b[i]b[i]b[i] 求经过任意次数的操作后,max(a1,a2,...,an)∗max(b1,b2,...,bn)max(a_1, a_2, ..., a_n) * max(b_1, b_2, ..., b_n)max(a1,a2,...,an)∗max(b1,b2,...,b
2022-01-29 20:50:13
1290
原创 深入理解Java虚拟机(个人笔记)
自动内存管理Java内存区域与内存溢出异常运行时数据区域程序计数器:记录正在执行的虚拟机字节码指令的地址;线程私有;栈:栈中的单位是栈帧(存储局部变量表,操作数栈,动态连接,方法出口等信息),栈帧的入栈和出栈对应着一个方法从被调用到执行结束;线程私有;堆:虚拟机所管理的内存中最大的一块;线程共享;方法区:线程共享的;存放被虚拟机加载的类型信息,常量,静态变量,即时编译器编译后的代码缓存本地方法栈:类似栈,不过是服务于本地方法对象的创建在语言层面上,创建对象仅仅只是new一个关键字而已;
2021-09-27 22:46:16
255
原创 codeforce 737 (Div. 2) C Moamen and XOR
Moamen and XOR题意:要求计算满足一个长度为n,数组中的每一个值都不超过2的k次方,数组中的每一个值的与大于等于数组中每一个值的异或思路:n为奇数:只要保证每一个数的第i位上1的个数为偶数即可,同时可以为全1的情况,与的值一定等于异或的值n为偶数:当每一个数的第i位全为1时,与的值大于异或的值;全为1的情况,前 i - 1位可以任意选择,不全为1的情况,答案为(选择偶数个1的情况 - 全为1的情况)* 第i - 1位时的答案#include <iostream>#in
2021-08-10 11:50:20
349
原创 P4929 【模板】舞蹈链(DLX)
洛谷 4929代码参考 https://www.acwing.com/solution/content/26693/#include <iostream>#include <vector>#include <cstdio>using namespace std;const int N = 510;int n, m, x;vector<int> res;struct DLX { DLX *left, *right, *up, *down
2021-06-25 02:12:36
227
原创 Eight II HDU - 3567
Eight II HDU - 3567 知识点: bfs 打表, 康托展开思路: 先预处理"X12345678",“1X2345678”,“12X345678”,“123X45678”,“1234X5678”,“12345X678”,“123456X78”,“1234567X8”,"12345678X"等状态每次将给定的s1映射为9个状态中的一个x1,将s2通过s1到x1的映射得到目标状态x2,再根据打表得到答案即可使用康托展开为了压缩空间#include <iostream>
2021-06-23 23:56:52
201
原创 codeforces C. Vanya and Scales
C. Vanya and Scales题意给定两个数w和m,判断m == (-1/0/1) * w0+ (-1/0/1) * w1 … + (-1/0/1) * w100思路将m分解为w进制,然后尝试对那些因数不为0或者1的因数进行修改(如果因数为0,尝试将它变成-1, 如因数为1, 可以尝试变成0 或者 1),我们从质数低到指数高的进行遍历(为什么不是从高到低呢,因为将wk分解到指数不超过k的w次方的数中,至少有一个wj的因数超过1,不符合题意,因为wk > w0 + w1 + w2 + …
2021-06-03 22:26:01
107
原创 codeforces 513 B2. Permutations
513 B2. Permutations题意定义p为1 - n的排序给定n和m,求使得f§ 的值最大的按照字典序排序的第m个排列思路关键在于使得f§值最大的排列一定是当前剩余数的最小放在排列的首部或者尾部如果当前的剩余数的最小值不是在首或者尾,必然可以通过将该数移动到首或者尾使得f(x)的值更大所以每次只需要判断将最小的数放在头还是尾即可import java.io.BufferedReader;import java.io.IOException;import java.io.In
2021-05-24 15:08:37
153
原创 codeforces 510 C. Fox And Names
510 C. Fox And Names题意给定n个字符串,判断是否能给出一个新的字典序规则使得这n个字符串满足字典序排序思路等价建图后判断该图是否为拓扑图import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashSet;import java.util.Stack;public class C { static
2021-05-24 13:35:45
146
原创 codeforce 721 div2 B2. Palindrome Game (hard version)
B2. Palindrome Game (hard version)题意给定一个字符串(只包含0和1),ALICE和BOB轮流操作,当字符串全为1时,游戏结束操作1: 将其中的一个0换成1,代价为1操作2:反转字符串,前提是当前字符串不是一个回文串,并且上一个人的操作不是反转字符串import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B
2021-05-21 16:53:09
392
1
原创 codeforce 488B. Candy Boxes
488B. Candy Boxes题意给定n个数(0 <= n <= 4),添加4 - n 个数,得到4个数,排序好得到x1, x2, x3, x4使得这四个数满足 (x1 + x2 + x3 + x4) / 4 == (x2 + x3) / 2 == x4 - x1思路由(x1 + x2 + x3 + x4) / 4 == (x2 + x3) / 2 == x4 - x1 可得x1 + x4 == x2 + x3x4 = 3 * x1由于给定的n个数不会大于500,我们可以
2021-05-20 21:41:00
119
原创 codeforces 483B. Friends and Presents
483B. Friends and Presents题意从1 - v中选择cnt1个数字(不能被x整除),选择cnt2个数字(不能被y整除)求最小的vpackage com.quality.other;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class B438 { private int cnt1, cnt2, x, y;
2021-05-20 16:02:41
160
原创 Codeforces Round #54 C.Trees
C. Trees题意给定一个长度为n的数组,通过增大或修改其中的数使得数组满足如下要求,求需要修改的最少次数第一个数等于倒数第一个数,第二个数等于倒数第二个数,以此类推相邻两个数的差的绝对值为1思路可以发现数组中的某个数一旦确定,整个数组就都确定了下来;而我们最少可以使得一个数不被修改,即通过该数决定整个数组;由此可以比较容易地得到一个O(n^2)的解法,即遍历数组中的每一个数,我们选择不修改该数,根据这个数得到的数组,统计哪些数是需要修改的,从而得到最小修改次数在上面的思路,我们是每次选
2021-04-16 01:48:03
149
原创 Codeforces Round #709 C. Basic Diplomacy
C. Basic Diplomacy题意有n个朋友,1到m天每天要选一个朋友,要求任意一个朋友被选择的天数不能大于 ⌈???? / 2⌉思路每一天先任意地选择一个朋友,则至多会有一个朋友被选择的天数大于 ⌈???? / 2⌉,对于该朋友,我们只要在选择该朋友的那一天的选择其他朋友,直到选择该朋友的天数不大于⌈???? / 2⌉,如果超过⌈???? / 2⌉的天数只能选择该朋友,则输出NO代码#include <iostream>#include <cstdio>#in
2021-03-27 01:23:55
161
原创 Codeforces Round #709 B. Restore Modulo
B. Restore Modulo原题链接题意是给一个长度为n的数组,判断是否存在m,s,c使得满足如下的条件a1=s mod m a_{1} = s \ mod \ m a1=s mod mai=(ai−1+c) mod m for all i∈1<i≤n a_{i} = (a_{i - 1} + c) \ mod \ m \ for \ all \ i \in 1 < i \le n a
2021-03-26 23:11:03
341
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅