竞赛
考级
二分查找 手写输入 加速CIN 随机数生成 想到思路后 怎么做? 1. 只能敲暴力 2. 先敲正解,调试过样例,文件过大样例 3. 写暴力对拍,生成随机测试数据,有错改错 4. 检查是否写上freopen() 二分查找是什么 二分查找(也被称为折半查找)是一种在有序数组中查找特定元素的搜索算法。它的基本思想是: * 首先确定待搜索数组的中间元素。 * 将目标元素与中间元素进行比较。 * 如果目标元素等于中间元素,则查找成功,返回中间元素的索引。 * 如果目标元素小于中间元素,则在数组的左半部分继续搜索。 * 如果目标元素大于中间元素,则在数组的右半部分继续搜索。 * 不断重复上述过程,直到找到目标元素或搜索范围为空。 二分查找的关键在于每次都将搜索范围减半,这使得其时间复杂度达到O(log n),其中n是数组中元素的数量。这种算法非常高效,特别是对于大型有序数组的搜索。然而,它要求输入数组必须是完全有序的。如果数组无序,通常需要先进行排序,这会增加额外的时间复杂度。对于小规模数据或频繁插入/删除元素的数据结构,二分查找可能不如其他算法高效。 二分模板
竞赛技巧 文件读写 读入技巧 关闭同步流(cin党必备) 最快读入,混数据点(n>1e6) 随机数生成 二分查找 模板 LOWER_BOUND()和UPPER_BOUND() 原码补码反码 正数的原码:最高位(符号位)为0; 负数的原码:最高位为1 正数的反码和原码相同 负数的反码除符号位,每一位取反 正数的补码和原码相同 负数的补码在反码的基础上加1
二分查找 二分板子 LOWER_BOUND()函数(找不到返回N+1) lower_bownd(数组开头下表,数组结尾下表+1,待查元素)-数组第零个下标开头 返回值为 第一个大于等于 待查元素的下标 UPPER_BOUND()函数(找不到返回N+1) upper_bownd(数组开头下表,数组结尾下表+1,待查元素)-数组第零个下标开头 返回值为 第一个大于 待查元素的下标 小数二分 补码 在反码上+1 正数反码:与源码相同 负数补码:在原码基础上,除符号位外取反
竞赛-初赛IOI团队内部赛 报名时间:2024-03-31 02:06 至 2024-04-05 05:00 竞赛时间:2024-04-05 15:48 至 2024-04-12 14:48 (时长:6天23小时) 权限设置: 全员可见 距离竞赛开始还有 05天00时57分17秒 报名 已报名0人 竞赛说明 初赛-复赛-决赛
cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ cin>>mp[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(mp[i][j]==1){ if(vis[i][j]==0){ bfs(i,j); cnt++; } } } } cout<<cnt;
这次欢乐赛太简单 就不做了
#include<bits/stdc++.h> using namespace std; int main(){ int n,m,a[10000000],s[10000000]; cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; } int l,r,c; for(int i=1;i<=m;i++){ cin>>l>>r>>c; s[l]+=c; s[r+1]-=c; }
fabric-language-kotlin-1.10.19+kotlin.1.9.23
...
分汇总 汇总 递归树是一种经常在计算机科学和数学中出现的图形结构,它通过反复应用相同的规则来生成树形图案。在编程中,您可以使用递归函数来绘制递归树。 以下是一个简单的示例,使用 C++ 和递归函数来绘制一个基本的递归树: 这是一个简单的示例,每个节点都有两个子节点,树的高度为4。您可以调整 treeHeight 的值以改变树的大小。当您运行这段代码时,它将输出一个具有树状结构的图案。 请注意,在实际的项目中,您可能需要使用更复杂的绘图库或技术来绘制更精美的递归树,并且会根据您的需求调整绘制逻辑。
ACGO信奥新闻 第36届国际信息学奥林匹克竞赛(International Olympiad in Informatics,IOI2024)将于2024年9月1-8日在埃及举行。CCF组队代表中国参加IOI2024。NOI科学委员会副主席、清华大学韩文弢博士担任领队,NOI科学委员会委员、北京大学罗国杰教授担任副领队,观察员由NOI科学委员会主席、北京大学蒋婷婷教授和NOI科学委员会副主席、北京航空航天大学赵启阳博士担任。他们将带领周康阳(杭州学军中学教育集团文渊中学)、郭羽冲(华东师范大学第二附属中学)、黄洛天(中国人民大学附属中学)和沈吉滪(杭州学军中学教育集团文渊中学)出征埃及,与其他来自五湖四海的选手们同场竞技。
这 不 set 吗
幸福小区的电费计算是有三个阶层, 用电15及以下,每度0.47元。 用电15以上,30及以下的部分,每度0.89元。 用电30以上的部分,每度1元。 现在给你某家一个月的用电量,请问他家这个月要付多少? 输入格式 输入一个正整数,代表用电度数。 输出格式 输出用电额度,保留两位小数。 输入输出样例 输入#1 复制 3 输出#1 复制 1.41
这是什莫玩意儿
这题也太水了把! 我直接全题用时最少好吧
正解:
汇总 广度优先搜索(Breadth-First Search,BFS)是另一种常见的图遍历算法,与深度优先搜索不同的是,BFS从起始节点开始,依次访问其所有未访问过的邻居节点,然后逐层向外扩展搜索。 BFS算法步骤: 1. 将起始节点放入队列:将起始节点放入队列中。 2. 标记起始节点为已访问:标记起始节点为已访问。 3. 从队列中取出一个节点:从队列中取出一个节点,访问该节点,并且将其所有未访问过的邻居节点放入队列中。 4. 重复步骤3:重复步骤3,直到队列为空。 示例代码: 让我们继续使用之前的无向图作为示例来说明BFS算法。同样假设有以下图: 我们仍然使用邻接表来表示这个无向图,但这次我们会使用队列来实现BFS算法:(C++) 在这个示例中,我们从节点A开始进行BFS。程序会按照广度优先的顺序访问各个节点,并输出每个节点的名称。通过逐层访问邻居节点,BFS能够探索整个连通图。您可以运行这段代码,并修改图的结构来验证BFS算法的工作原理。 希望这个示例能够帮助您理解广度优先搜索算法的实现及应用。如果您需要更多说明或有任何问题,请随时告诉我!
贪心算法 写在前面 > 贪心是一种思想(策略),不是一种算法! 贪心算法(greedy algorithm),又称贪婪算法。 提醒:选择当前局部最优解,不一定全局最优。 贪心要求:无后效性 进制转换(X转10) 1.按照小数点划分左右; 2.小数点往左写上对应权值 3.小数点往右写上对应权值 4.结果=a∗x2+b∗x1+c∗x0+c∗x−1+d∗x−2+e∗x−3a*x^2+b*x^1+c*x^0+c*x^{-1}+d*x^{-2}+e*x^{-3}a∗x2+b∗x1+c∗x0+c∗x−1+d∗x−2+e∗x−3. 位运算 1.按位与 & 按位与&的运算规则,将两个二进制数低位对齐,不足高位补零。对两个数字进行比较,只有当两个相对应的二进制位都为1时,结果相应位才为1,其余为0. x&(x-1)可以快速判断一个数是不是2n2^n2n ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 2.按位或 | 按位与|的运算规则,将两个二进制数低位对齐,不足高位补零。对两个数字进行比较,只有当两个相对应的二进制位其中一个为1时,结果相应位才为1,其余为0. ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 3.按位非 ~ 按位与~的运算规则,将两个二进制数每一位取反,0变1,1变0. > 应用:~1=0 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 4.按位异或^ 按位与|的运算规则,将两个二进制数低位对齐,不足高位补零。对两个数字按位进行比较,当两个相对应的二进制位同时为0时,不同时为1.异或满足交换率:aba=aab ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 5.按位右移>> * 按位右移>>的运算规则,>>a就将二进制数右移a位,低位丢弃。 * 右移1相当于x÷2x \div 2x÷2。 * 2n2^n2n ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 6.按位左移<< * 按位左移<<的运算规则,<<a就将二进制数左移a位,高位左移,低位补零。 * 左移1相当于x×2x \times 2x×2。 * 2n\sqrt[n]{2}n2 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 例题: 12^32&9|18 A.26 B.30 C.32 D.44 参考答案:B
共6783条