摘要:
关于C++的scanf,其实在使用时有一个注意的点。 我们来看一个简单的例子。 对于输入的一行,如果这一行的开头需要输入一个字符,例如这样的输入: A 10 20 B 30 A 3 50 ... 我们可以使用这种方式来读入,使用一段代码来进行试验: #include<stdio.h> using n 阅读全文
摘要:
最近网上看到一个话题,也很有意思的,就写到这里来了。 上海地铁的站名中,出现频率最高的字是什么? 正好,练习自己的C++代码能力,给定一些站名,计算一下。 首先是一个文件,记录了所有的站名,这个文件内容比较长,摘录一部分下来。这个文件可以作为我们的输入文件来用。 注意,这个文件内容上只是把所有线路的 阅读全文
摘要:
使用运算符重载的技术,可以做到C++仿python式的print函数 示例如下: #include<bits/stdc++.h> #define print pt, using namespace std; class PRINT{ public: PRINT operator, (int n){ 阅读全文
摘要:
注:本文的所有代码是在我自己的VS2008中测试的,由于环境的差别,不能保证能在所有的编译器上运行。 1.内嵌汇编介绍 在C++中,可以通过__asm关键字来嵌入汇编语言。例如 int main(){ __asm{//汇编! mov eax,0 } return 0; } 2.汇编版本Hello, 阅读全文
摘要:
在前面的文章我提到过,如果想要多次求和,可以使用前缀和,通过预处理的手法,可以使得求和的复杂度是O(1)。 但是,如果我们把题目改一下: 现在有一些操作: 操作A 输入1 L R,输出L-R区间的和 操作B 输入2 P X,使得A[P]+=X A[P]+=X就是对A数组进行修改。 如果使用前缀和,求 阅读全文
摘要:
#include<stdio.h> #include<time.h> #include<stdlib.h> #include<windows.h> using namespace std; int main (){ time_t t; struct tm* lt; for(;;){ time(&t) 阅读全文
摘要:
题目描述: 数字“4”和“7”是幸运数字,那么仅用幸运数字组成的整数就是幸运整数,请你帮忙找出第 k 个幸运整数。输入 k,输出第 k 个整数。 思路: 使用模拟的方式,像高精度一样,把每个位模拟一下做+1的操作例如一开始是4,下一个就是7,再下一个需要进位,变为44,以此类推 我们可以使用一个数组 阅读全文
摘要:
表达式求值:一个只有+,-,*,/的表达式,没有括号 一种神奇的做法:使用数组存储数字和运算符,先把优先级别高的乘法和除法计算出来,再计算加法和减法 int GetVal(string s){ int A[10000]; int Num=0,Pos=0; for(int i=0;i<s.size() 阅读全文
摘要:
【算法】前缀和 题目 先来看一道题目:(前缀和模板题) 已知一个数组A[],现在想要求出其中一些数字的和。 输入格式: 先是整数N,M,表示一共有N个数字,有M组询问 接下来有N个数,表示A[1]..A[N]的数字 接下来是M组询问,每组询问包含两个X,Y,表示想要求出A[X]..A[Y]的和 输出 阅读全文
摘要:
#前言 好久没写东西了,突发奇想,写写函数参数的压栈顺序 先看看这个问题 https://q.cnblogs.com/q/137133/ 然后看我简化的代码,猜输出结果是多少? #include<bits/stdc++.h> using namespace std; int main(){ int 阅读全文