上一页 1 ··· 115 116 117 118 119 120 121 122 123 ··· 132 下一页
摘要: 首先,用scanf对指针进行输入的时候,不要对指针加& 然后,对指针进行输入时,最好先把指针指向一个明确的地址,比如 #include<bits/stdc++.h> #define ll long long using namespace std; int main() { int p; int * 阅读全文
posted @ 2023-11-15 23:20 最爱丁珰 阅读(142) 评论(0) 推荐(0)
摘要: 首先看蓝书上的代码 为什么即将开始dfs时,没有一开始就把\(vis[i]\)标记了? 其实dfs的流程是从左部的一个节点出发,考察右部的一个节点,如果右部的节点已经匹配了,下次dfs直接从这个右部节点的匹配点开始计算,所以vis的标记都是标记的右部节点,左部节点是不用标记的(因为是匹配二分图,只会 阅读全文
posted @ 2023-11-15 22:29 最爱丁珰 阅读(22) 评论(0) 推荐(0)
摘要: 首先来看一看这个代码 这个代码输出的是2,即函数里面的c的值就是b的值,为主函数里面a这个变量的地址,所以a被改变了 再来看一看这个代码 这个代码输出的是1,就是b所指向的地址的内容没有被修改,所以c也是一个形参,他的值就是b的值(a的地址),但是c的值被改变了(变成了全局变量x的地址)不会导致b的 阅读全文
posted @ 2023-11-15 18:14 最爱丁珰 阅读(18) 评论(0) 推荐(0)
摘要: 首先这道题很容易发现如果已经知道了最后的答案序列,那么操作顺序是无所谓的 所以我们可以假设从头操作到尾 由于题目给的是非严格递增序列,我们猜想最后的答案一定是一段一段的,段与段之间单调递增 比如1 1 1 2 2 2 2 2 3 3 4 5 5 反证:如果最终的答案序列存在\(a_{i}\)和\(a 阅读全文
posted @ 2023-11-14 22:23 最爱丁珰 阅读(47) 评论(0) 推荐(0)
摘要: 无论是.h还是.cpp,都可以写声明或者实体,而且.h和.cpp的前面的名字相同不相同没有任何的影响 最终一系列要连接的程序中,必须有且只有一个源文件有main函数,然后从这个main函数开始运行 include的作用其实是跟define一样的,是纯文本替换 进行替换之后,如果替换的内容是实体,那么 阅读全文
posted @ 2023-11-08 23:00 最爱丁珰 阅读(33) 评论(0) 推荐(0)
摘要: 上面第二个参数为啥又有星号又有方框?这其实是一个指针数组,包含若干个指针,每个指针指向一维字符数组 另一篇文章:命令行 阅读全文
posted @ 2023-11-02 23:11 最爱丁珰 阅读(16) 评论(0) 推荐(0)
摘要: 我们考查对任意一种方案答案的构成 假设最终方案只有这三段 那么很显然,答案为$$(S+sumT_[i])\cdot sumC_{i}+(2S+sumT_[j])\cdot (sumC_{j}-sumC_{i})+(3S+sumT_[n])\cdot (sumC_{n}-sumC_{j})$$ 我们换 阅读全文
posted @ 2023-11-01 21:46 最爱丁珰 阅读(19) 评论(0) 推荐(0)
摘要: 这一道题给我们最大的启示就是一定要学会固定数字!下面要求的数组,如果按照数位DP的套路,从小到大考虑数位以及数位上的数字,是很容易想到需要求这些数组的 设\(Pow[i]=B^i\),\(f[i]=\sum_{k=0}^{i}{B^k}\) \(h[i]\)表示所有\(i\)位数字的所有前缀子串的和 阅读全文
posted @ 2023-10-31 15:00 最爱丁珰 阅读(25) 评论(0) 推荐(0)
摘要: 这个trick是:将所有时间转换为秒,就不用考虑进位了 阅读全文
posted @ 2023-10-27 22:38 最爱丁珰 阅读(20) 评论(0) 推荐(0)
摘要: 首先,\(max(p,q)\)是下界,因为连一条边最多只能减少一个零入度点和一个零出度点,而最终的图不可能有哪怕一个零出度点或者零入度点(最后的图刚好就是一个点) 根据这个下界,我们也很容易可以构造出来一种方法,让零出度点和另一个SCC的零入度点相连即可,就像下面一样(红色边是添加的边) 阅读全文
posted @ 2023-10-27 22:29 最爱丁珰 阅读(27) 评论(0) 推荐(0)
上一页 1 ··· 115 116 117 118 119 120 121 122 123 ··· 132 下一页