流程控制 顺序结构:程序从头到尾顺序依次执行每一个 分支结构:【选择结构】,程序会拐弯 循环结构:程序会杀个回马枪,不断地重复执行同一段代码 分支结构 if语句 if 如果 elif 否则如果 # 可多个 可0个 else 否则 # 从上往下判断,如果为true了就不会再往下执行 可嵌套 if ture: if
死循环格式: 1、for(;;) { } 2、while(true) { } 3、do{ }while(true); 案例一: public class Demo1 { /* for死循环格式 : for(;;){ } while死循环格式 : while(true){ } do..while死循环格式 : do{ }while(true); 问题: 死循环有应用场景吗? 例如: 键盘录入一
所有题目都在橙到绿之间。梦回小学。 UVA [101] - The Blocks Problem 用一个前驱数组和一个后继数组维护一个类似于链表的结构。 然后每次更改根据题意要求,依次递进地更改结点的前驱 / 后继即可。 namespace XSC062 { using namespace fastIO; const int maxn = 35; char t, t1
while循环语句格式: 1、基本格式: while (条件判断语句) { 循环体语句; } 2、完整格式: 初始化语句; while (条件判断语句) { 循环体语句; 条件控制语句; } ①执行初始化语句 ②执行条件判断语句,看其结果是true还是false。如果是false,循环结束。如果是true,继续执行 ③执行循环体语句
do…while循环语句格式: 1、基本格式:do { 循环体语句; }while(条件判断语句); 2、完整格式:初始化语句; do { 循环体语句; 条件控制语句; }while(条件判断语句); 特点:do..while循环, 无论循环条件是否满足, 都至少会执行一次循环体。原因: do..while循环是从上到下依次执行。
cdq不是一个具体的算法,它是一种思想。cdq之于分治,就像区间dp之于dp。 三维偏序 模板题 思路,先考虑二维。排序使第一维有序,然后顺序遍历,第二位用树状数组维护。 如果把顺序遍历,改成如归并排序的方式,题目仍然可行,但多了一个logn。 三维情况下,就可以先排序使第一维有序,再向下递归。向
题目描述 计算一个浮点数的立方根,不使用库函数。 保留一位小数。 数据范围:|val| \le 20 \∣val∣≤20 输入描述: 待求解参数,为double类型(一个实数) 输出描述: 输出参数的立方根。保留一位小数。 解题思路 代码如下: #include<iostream> #include<cmath> using namespace std
目录循环结构While 循环语法实例用 While 计算1+2+3+...+100=?DO While 结构语法实例用 Do while 计算1+2+3+...+100=?while 和 Do While 的区别For 循环有关 for 循环的说明语法实例1.While和For 的区别2. 0 —100 的奇、偶之和3.输出1—1000能被5整数的数,并每行输出3个4.打印九九
三种循环的区别: 1.如果条件判断从来没有满足过,那么for循环和while循环将会执行0次, 但是do-while循环会执行至少一次。 2.for循环的变量在小括号当中定义,只有循环内部才可以使用。while循环和do-while循环初始化语句本来就在外面, 所以出来循环之后还可以继续使用。
if语句 """ # age = 17 # if age < 18: # print("抱歉,未满18岁禁止访问") # else: # print("欢迎你来^o^") # print("抱歉,未满18岁禁止访问") if age < 18 else print("欢迎你来^o^") # # a = 3 # b = 5 # if a < b: #
链接 \(Link with Bracket Sequence II\) 为了方便去重,我们令 \(f_{i,j}\) 表示 \(i\) ~ \(j\) 组成的两端括号匹配的合法括号序列方案数,\(g_{i,j}\) 表示 \(i\) ~ \(j\) 组成的合法括号序列方案数,答案为 \(g_{1,n}\) 。 转移 \(g_{i,j} -> f_{i-1,j+1}\),\(g_{i,j}=\sum\limits_{k
( " )字符常量使用单引号(在单引号中出现两个及以上的字符或者没有字符时,编译出错) ( " " )字符串常量使用双引号(可以表示0至多个字符组成的字符串) switch:匹配一个具体值 while循环 我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环 do...while循环至少
高考完了,耍了快一个月,开始边耍边学习
改进版快排,pivot 不再是左边第一个元素,而是正中间元素(或者随机)。 有一个比较坑的地方就是,在每一趟双指针完成所有交换后,需要判断 pivot 需不需要被交换。 比如 test case 1 2 4 3,第一趟开始时 pivot 是 2, 先动右边的指针 j, 找到第一个比 2 小的数也就是 1。此时 1 不应该和 2
A.蓝蓝的棋盘 dp题 因为蓝蓝走过棋之后下一个人是先手,可以把问题简化为一个保证先手且不断减少的棋盘。 设计状态:dp[i]表示在第i位下,先后手最优策略下的差值,因为是先手减去后手,所以也是最大差值 从n到0倒序dp,设计转移方程为:dp[i]=max(a[y]-dp[y])\(i<y \leq i+m\) 可用单调队列来
8.1 T2数据水,只判4条边界就可以85pts,随机化2e5个非整点判断可以AC。 T2: 正解是扫描线,但是没人写。 T1 wisdom 我们采用一种贪心,假设当前已经处理完 u 的所有儿子子树,考虑把 u 染成什么颜色最优 // ubsan: undefined // accoders #include <bits/stdc++.h> #define pii pair<int
同样不能题单贴贴了…… A.蓝蓝的棋盘 题目描述 淘淘和蓝蓝在下棋。 这个棋盘是 1×n 的,棋盘的第 i 个格子上有一个数 a[i],因此我们可以把棋盘看作一个序列。一开始棋子在位置 0,双方得分都是 0. 双方轮流操作棋子,如果当前棋子的位置是 p,可以选择把棋子移动到 [p+1,min(n,p+m)] 的
循环语句 在我们实际编写代码时,循环语句会经常被使用,因为我们需要的结果往往不是单纯的顺序语句就能完成的,所以熟悉循环语句是一件很基础也是重要的事情。 目录循环语句while循环do-while循环for循环 while循环 语法结构: while(布尔表达式){ //循环内容 } wh
else: 循环可以和else配合使用,else下方缩进的代码指的是当循环正常结束之后要执行的代码。 while...else正常结束: # 需求:种完5棵树,完成之后回家吃饭 i = 1 while i <= 5: print(f'种完第{i}颗树') i +=1 else: print('终于可以回家吃饭了') while...else之br
所谓while循环嵌套,就是一个while里面嵌套一个while的写法,每个while和之前的基础语法相同的 案例: """ 1.每天种三棵树 2.种完领取树苗 3.连续种三天树 """ j = 1 while j < 4: i = 1 while i < 4: print(f'种完第{i}棵树') i += 1 print('领取树苗'
贪心 + 二分。 二分 \(mid\),计算最少需要多少个消防站。 首先对点的深度 \(dep\) 进行排序,每次取当前最深的点 \(v\)。 找到与 \(v\) 的距离为 \(mid\) 的祖先 \(u\),设立消防站。 可以证明这样是最优的:离 \(v\) 最近的消防站一定在 \(u\) 的子树中,并且能覆盖的点小于等于 \(u\) 能
链接:https://ac.nowcoder.com/acm/contest/26656/1040来源:牛客网 题目描述 这是一个加强版的斐波那契数列。 给定递推式 求F(n)的值,由于这个值可能太大,请对109+7取模。 输入描述: 第一行是一个整数T(1 ≤ T ≤ 1000),表示样例的个数。以后每个样例
链接:https://ac.nowcoder.com/acm/contest/26656/1039来源:牛客网 题目描述 已知 f(1)=1,f(2)=1f(1)=1,f(2)=1f(1)=1,f(2)=1。 对于 n>2n>2n>2 的任意 f(n)f(n)f(n), 都满足 f(n)=3f(n−1)+2f(n−2)+2f(n)=3f(n-1)+2f(n-2)+2f(n)=3f(n−1)+2f(n−2)+
链接:https://ac.nowcoder.com/acm/contest/26656/1038来源:牛客网 题目描述 JYM和XJ转眼就从小学上了高中。在学习递推的时候,JYM在纸上随手写了一个递推关系式:an=2*an-1,a0=0。写完这个递推式,JYM拿给XJ看,XJ觉得太过简单,于是大笔一挥,在等式右边又加了一个式
https://www.luogu.com.cn/problem/P3390 把*重载成矩阵的乘法 再用普通的快速幂就行 (AC代码是copy的,实在debug不出了) #include <algorithm> #include <iostream> #include <cstring> #include <cstdio> #include <cctype> #define ll long long #define gc() getchar(