- 博客(458)
- 资源 (1)
- 收藏
- 关注

原创 待做。。。。
lower_boundint tmp1 = *std::lower_bound(a + 1, a + n + 1, b);//a中第一个大于等于b的int tmp2 = *std::upper_bound(a + 1, a + n + 1, i);//大于unique重载运算符看内存大小
2021-11-10 20:50:34
275
原创 阐述程设理论2
p和q的值是一致的。A.定义了一个指向一维数组的指针p,所指向的一维数组具有5个char元素;C.int *p(char *a)表示一个形参与返回值均为指针的函数;D.int *p(char *a):一个形参与返回值均为指针的函数;C.int p(char *a):一个形参为指针的函数;实参(fun(1)), 形参(fun(int a) )C.指针的数据类型声明的是指针实际指向内容的数据类型;D.指针的数据类型声明的是指针实际指向内容的数据类型;C.y= *p(x);
2023-12-14 23:28:08
469
1
原创 【区间dp】P7914 [CSP-S 2021] 括号序列
题意()、(S) 均是符合规范的超级括号序列,其中 S 表示任意一个仅由不超过kkk个字符∗*∗组成的非空字符串(以下两条规则中的 S 均为此含义);如果字符串 A 和 B 均为符合规范的超级括号序列,那么字符串 AB、ASB 均为符合规范的超级括号序列,其中 AB 表示把字符串 A 和字符串 B 拼接在一起形成的字符串;如果字符串 A 为符合规范的超级括号序列,那么字符串 (A)、(SA)、(AS) 均为符合规范的超级括号序列。所有符合规范的超级括号序列均可通过上述 3 条规则得到。现在给出
2021-11-16 19:42:11
775
原创 【拓扑排序】P7077 [CSP-S2020] 函数调用
题意有nnn个元素,进行一些函数的操作。功能可分为三类:单点加;区间乘;依次执行若干次函数调用,保证不会出现递归(即不会直接或间接地调用本身)。思路
2021-11-16 19:19:00
1089
原创 luogu_P7915 [CSP-S 2021] 回文
题意对于长度为2n2n2n的序列aaa,1∼n1\sim n1∼n各出现了222次。进行如下两种操作:1、将序列aaa的开头元素加到bbb的末尾,并从aaa中移除。2、将序列aaa的末尾元素加到bbb的末尾,并从aaa中移除。求出一个操作序列使得bbb为一个回文串,且操作序列的字典序最小。思路先移除左边(对于右边也是如此)的数字,然后这个数字剩下的另一个一定是最后一个移除的(满足回文),那么倒数第二个移除的就应该是它左右两个中的其中之一(因为只能从左或者从右移除)。于是就可以通过它左右的两个
2021-11-09 16:34:19
732
2
原创 机房一键重开
mklink "C:\Users\Administrator\Desktop\QQMusic" "E:\Program Files (x86)\Tencent\QQMusic\QQMusic.exe"taskkill /f /t /im DeploymentAgent.exedel "C:\Program Files (x86)\Lenovo\联想智能云教室客户端\DeploymentAgent.exe"taskkill /f /t /im studentmain.exedel "C:\Progra
2021-11-03 20:25:07
365
原创 微软拼音中设置小鹤双拼
1.win + R,输入 regedit,打开注册表2.找到 计算机\HKEY_CURRENT_USER\Software\Microsoft\InputMethod\Settings\CHS 项3.新建一个名为 UserDefinedDoublePinyinScheme0 的字符串值,值为小鹤双拼*2*^*iuvdjhcwfg^xmlnpbksqszxkrltvyovt4.打开微软拼音输入法设置,把 小鹤双拼 设置为双拼的默认方案即可。...
2021-10-14 19:42:06
1656
1
原创 【差分】luogu_P4231 三步必杀
题意对一个数组的某个区间加上一段等差数列,求出若干个操作后每个元素的值。思路考虑差分。设AAA为原数组,BBB为一阶差分数组,CCC为二阶差分数组。对[l,r][l,r][l,r]加上首项为sss,末项为eee,公差为ddd的等差数列,可得Ai=Ai+s+(i−l)∗dA_i=A_i+s+(i-l)*dAi=Ai+s+(i−l)∗dBl=(Al+s)−Al−1=Bl+sB_l=(A_l+s)-A_{l-1}=B_l+sBl=(Al+s)−Al−1=Bl+sBi=(Ai+s∗(i−
2021-10-14 11:09:13
170
原创 【树形dp】W
题面题意给出一棵树,每条边有初始状态。对一条路径上的边的状态进行翻转,求每条边满足结果且操作数最少,最小的操作边数之和。思路设f[i][0/1]表示i与fa[i]的边是否需要翻转时的答案。枚举每个儿子,判断儿子与i的边是否处于同一个操作次数(等方案)进行转移。代码#include <vector>#include <cstdio>#include <stdlib.h>#include <algorithm>const std::pai
2020-08-12 22:06:27
246
原创 【差分】U
题意在n*n的矩形里,每次对一个等腰三角形区间加上值,求这个矩形中的异或和。思路对于一个三角形区间,我们可以分成行来进行差分,如加上val那么差分数组为+val-val+valxxx -val+valxxxxxxx -val…如果一排一排进行操作会很慢,我们也可以对这个竖排和斜排进行差分操作。代码#include <cstdio>long long n, q, ans;long long a[2001][2001], b[2001][2001], s[2001][20
2020-08-12 18:41:44
225
原创 【数据结构 扫描线】空间简单度
题意给出一棵树,其中有一些点对是不合法的,求一共有多少条路径中是没有不合法的点对。思路考虑用所有路径-不合法的路径得出答案。对于每个点对(x,y),dfn[x]<dfn[y]:如果x为y的祖宗,那么y的子树到除了x~y这条链上其它的节点都是不合法的如果x不为y的祖宗,那么x的子树到y的子树中的点都是不合法的因为会有重复的不合法点对被计算,我们就把它们...
2020-08-12 16:25:38
229
原创 【数学 枚举】HR 的疑惑
题意求出[1,n]中有多少个数能用a^b的形式来表示。思路n很大,所以我们尝试枚举指数,而且答案很小,我们对每个满足条件的数可以用map标记。当我们发现b是合数时,ab=(ab/i)i,其中i为b的约数,所以我们枚举的指数是质数。代码#include <map>#include <cmath> #include <cstdio>std::map<long long, int> v;long long n;int ans;int pri
2020-08-12 16:15:42
209
原创 【动态规划】【区间dp】luogu_4170 [CQOI2007]涂色
题意对长度为n的木板涂色,每次涂色会覆盖之前涂过的区域,给出涂色目标木板,求出最少的涂色次数。思路设f[i][j]为涂好了i~j的最少次数,那么:f[i][j]=min{f[i][j-1],f[i+1][j]} (col[i]==col[j]),即一开始可以从i~j-1或i+1~j多涂一格f[i][j]=min{f[i][k]+f[k+1][j]},即分成两部分涂色代码#includ...
2020-01-16 15:46:54
285
原创 【动态规划】CF9D How many trees?
题意用n个点组成二叉树,问高度大于等于h的有多少个。思路设f[i][j]为i个节点时高度不超过j的二叉树个数,那么f[i][j]=f[k][j-1]*f[i-k-1][j-1],即选出一个根节点,两边连高度不超过j-1的子树求高度大于等于h,即f[n][n]-f[n][h-1]代码#include <cstdio>int n, h;long long f[36][3...
2020-01-16 15:37:34
265
原创 【染色 最短路】luogu_2124 奶牛美容
题意给出3个块,求出把它们连起来至少还要用多少个格。思路把每个块合并后,求出每个块到每个格的最短路以及块之间的最短路。并以块之间直接相连(可能有点重复)的最小代价为初始答案,枚举块之间的中间点进行答案更新。代码#include <cstdio>#include <cstring>#include <algorithm>const int dx[...
2020-01-15 21:43:23
282
原创 牛客练习赛55
A 等火车题意每s时刻有一辆车经过,问第t时刻距离下一班车还有多久。思路输出(s-t%s)%s即可。代码x = input().split()s = int(x[0])q = int(x[1])for i in range(q): a = int(input()) print('%d\n' %((s - a % s) % s))B 数字游戏题意有2n-1...
2019-12-14 16:34:28
398
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人