蓝桥杯备赛笔记(一)
这里的笔记是关于蓝桥杯关键知识点的记录,有别于基础语法,很多内容只要求会用就行,无需深入掌握。
文章目录
- 前言
- 一、编程基础
- 1.1 C++基础格式和版本选择
- 1.2 输入输出
- cin和cout:
- 1.3 string
- 以下是字符串的一些简介:
- 字符串的基本操作:
- 二、竞赛常用库函数
- 2.1 排序
- sort函数:
- 使用传入第三个参数自定义比较函数:
- 使用lambda自定义比较函数:
- 2.2 最值查找
- min和max函数:
- min_element和max_element:
- nth_element函数:
- 2.3 二分查找
- 整数二分查找模板
- 浮点二分查找模板
- 二分答案模板
- 总结
前言
持续更新,量变产生质变
一、编程基础
1.1 C++基础格式和版本选择
这里只需要记住使用一个万能头文件即可:
#include <bits/stdc++.h> //什么都能用这个头文件
using namespace std;
基本数据类型:
int x = 3; //整数x
double d = 3.14; //浮点数(小数)
char ch = 'A'; //字符常量'A'
char s[] = "Hello"; //字符串
bool b = true; //布尔值,即真假值b。非0为真,0为假
1.2 输入输出
cin和cout:
#include <bits/stdc++.h> //万能头文件
using namespace std; //全局引用std,std里面包含了cin,cout和endl等等东西
int main(){double a,b;cin >> a >> b;//cin会自动判断变量类型cout << fixed << setprecision(3) <<a << '' << b << '\n';//fixed << setprecision(3)的意思是保留浮点数后面3位return 0;//记住最后return 0
}
fixed << setprecision(3) 意思是保留浮点数后3位
在字符或字符串中直接使用cin:
#include <bits/stdc++.h>
using namespace std;
int main(){char ch;cin >> ch;cout << ch;return 0;
}
以上代码中: 输入:a b 输出:a
#include <bits/stdc++.h>
using namespace std;
int main(){char s[10];cin >> s;cout << s;return 0;
}
以上代码中: 输入:hi nihao 输出:hi
注意!!cin无论是在字符或字符串中输入空格或者换行符就会结束
#include <bits/stdc++.h>
using namespace std;
int main(){string s;getline(cin, s);cout << s;return 0;
}
以上代码中: 输入:hi nihao 输出:hi nihao
所以我们可以结合使用string和getline来消除掉这个cin的缺点
取消同步流:
由于cin和cout自动判断变量的关系,它们的读写效率要比scanf和printf更低。
当数据量大的时候,可能导致程序运行超时,我们可以通过取消同步流来加速cin和cout,加速后效率就差不多了。
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0); //取消同步流
1.3 string
使用string需要在头文件包含该库 #include<string>
以下是字符串的一些简介:
- 字符串管理:string封装了字符串的存储和管理。它自动处理字符串的内存分配和释放,避免了手动管理内存的麻烦。
- 动态大小调整:string可以根据需要自动调整字符串的大小,在添加或删除字符时,string会自动调整内部的存储容量,确保足够的空间来容纳字符串。
- 安全性:它提供了越界访问检查,以避免访问超出字符串范围的字符。
- 迭代器支持:string支持迭代器,可以使用迭代器遍历字符串中的字符,进行字符级别的操作。
- 兼容性:string是C++标准库的一部分,因此广泛使用。
string的声明和初始化:
#include <bits/stdc++.h>
#include <string>
int main(){//声明并初始化一个字符串std::string str1;//使用字符串字面量初始化字符串std::string str2 = "hello, world!";//使用另一个std::string 对象来初始化字符串std::string str3 = str2;//使用部分字符串初始化字符串std::string str4 = str2.substr(0, 5);//substr(起始位置,长度)//使用字符数组初始化字符串const char* charArray = "Hello";std::string str5(charArray);//使用重复的字符初始化字符串std::string str6(5, 'A');//"AAAAA"重复5次A
}
在C++中,std::string类提供了一个成员函数c_str(),用于返回一个指向以空字符结尾的C风格字符串(即const char*类型)。
字符串的基本操作:
1、获取字符串长度:
std::string str = "Hello, world!";
int length = str.length(); //或者 int length = str.size();
std::cout << "Length: " << length << std::endl;
2、拼接字符串(+或append):
std::string str1 = "Hello";
std::string str2 = "world";
std::string result1 = str1 + "," + str2;//使用+运算符
std::string result2 = str1.append(",").append(str2);//使用append函数
std::cout << "Result1 = " << result1 << std::endl;
std::cout << "Result2 = " << result2 << std::endl;
3、字符串查找(find):
std::string str = "Hello, world";
size_t pos = str.find("world"); //查找子字符串位置
if(pos != std::string::npos){ //判断是否不等于-1std::cout << "Substring found at position: " << pos << std::endl;
}
else{std::cout << "Substring not found." << std::endl;
}
4、字符串替换(replace):
std::string str = "Hello, world";
str.replace(7,5, "Universe"); //替换子字符串
//7是子串起始位置,5是要替换掉的长度
std::cout << "Result: " << str << std::endl;
5、提取子字符串(substr):
std::string str = "Hello, world";
std::string subStr = str.substr(7,5); //提取子字符串
std::cout << "Substring: " << subStr << std::endl;
6、字符串比较(compare):
std::string str1 = "Hello";
std::string str2 = "World";
int result = str1.compare(str2);//比较字符串
if(result == 0){std::cout << "String are equal." << std::endl;
} else if(result < 0){std::cout << "String 1 is less than String 2." << std::endl;
} else{std::cout << "String 1 is greater than String 2." << std::endl;
}
string重载了不等号,所以也可以直接使用s1 < s2的方式来比较string的大小,比较的规则是按照字典序大小进行比较。
字典序的比较方法是从小到大一个一个比较,一旦遇到不相等的字符就确定大小关系。
例如:
aaaa < bbbb
azz < baaa
常用的遍历string方法一共有两种:
- 循环枚举下标
- auto枚举(其中&表示取引用类型,如果对i修改将会改变原来的值)
string s = "Hello";for(int i = 0; i < s.length(); ++i) cout << s[i];//枚举循环遍历一遍string的对象s
cout << '\n';
for(auto i : s)
{cout << i;i = 'a';//此处的修改无效,因为这个i是拷贝出来的,而不是引用s的//所以这里只是赋值到拷贝出来的i里面,而这个i是在局部变量内,这个for循环结束就消亡了
}
cout << '\n';
//此时s = "Hello"
for(auto &i : s)
{cout << i;//此时再遍历输出s字符串还是Helloi = 'a';//此处修改会改变s的字符值
}
cout << '\n';
//此时s= "aaaaa"
cout << s << '\n';
二、竞赛常用库函数
2.1 排序
sort函数:
sort函数包含在头文件<algorithm>中
在使用前需要使用#include <algorithm>或万能头文件#include <bits/stdc++.h>
sort是C++标准库中的一个函数模板,用于对指定范围内的元素进行排序。
sort算法使用的是快速排序或者类似快速排序的改进算法,具有较好的平均时间复杂度,一般为O(nlogn)。
sort的用法:
sort(起始地址, 结束地址的下一位, *比较函数);
比较函数一般默认用的小于号(<)
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
int a[1000];
int n;
//读取数组大小
cin >> n;
//读取元素
for(int i = 1; i <= n; ++i) cin >> a[i];//对数组进行排序
sort(a+1, a+n+1); //[1, n+1) 左闭右开
// a[1], a[n+1]//输出
for(int i = 1; i <= n; ++i) cout << a[i] << ' ';
return 0;
}
sort(起始地址, 结束地址的下一位, *比较函数);
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
//初始化v
//这里是模板类vector,需要使用万能头文件或#include <vector>
vector<int> v = {5, 1, 3, 9, 11};//对数组进行排序
sort(v.begin(), v.end());//输出
for(int i = 0; i < v.size(); ++i) cout << v[i] << ' ';
//for (auto i : v)cout << i << ' ';//使用auto进行排序也可以
return 0;
}
由于sort默认用小于号进行排序,如果想要自定义比较规则,可以传入第三个参数,这个参数可以是函数或者lambda表达式。
使用传入第三个参数自定义比较函数:
#include <bits/stdc++.h>
using namespace std;
bool cmp(const int &u, const int &v)
{return u > v;
}
int main(){ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);//初始化vvector<int> v = {5, 1, 3, 9, 11};//对数组进行排序,降序排序sort(v.begin(), v.end(), cmp);// 传入函数名//输出for(int i = 0; i<v.size(); ++i) cout << v[i] << ' ';return 0;
}
使用lambda自定义比较函数:
#include <bits/stdc++.h>
using namespace std;
int main(){//初始化vvector<int> v = {5, 1, 3, 9, 11};//对数组进行排序,降序排序,这里使用lambda表达式sort(v.begin(), v.end(), [](const int &u, const int &v){return u > v;});for(int i = 0; i<v.size(); ++i) cout << v[i] << ' ';return 0;
}
在[ ]里面不写东西代表把数组内的东西以拷贝的形式放进去,如果在[ ]内加上&后( [&] )就会变成把v里面的变量都以引用(&)类型的格式放进去。
下面是一个本人觉得很妙的操作:
for(int i = 1; i <= n; ++i) cout << a[i] << " \n"[i == n];
首先,这里我们需要意识到字符串其实就是一个字符数组。在这段代码行中的" \n"[i == n]巧妙的利用了判断符号来确认for循环是否到结尾了,如果到结尾了此时判断会返回1(真),就会自动输出\n换行。如果没到结尾,即i不等于n,此时返回的是0(假),则输出空格。
在这个字符串中下标为0对应的是" “(空格),下标为1对应的是”\n"(回车换行符)
以下是使用了这个操作的题目:
2.2 最值查找
min和max函数:
min(3, 5) = 3
min({1, 2, 3, 4}) = 1
max(a, b)返回a和b中较大的那个值,只能传入两个值,或传入一个列表。
例如:
max(7, 5) = 7
max({1, 2, 3, 4}) = 4
时间复杂度为O(1),传入参数为数组时时间复杂度为O(n),n为数组大小。
min和max函数是在最值操作时最常用的操作。
min_element和max_element:
min_element(st, ed)返回地址[st, ed)中最小的那个值的下标(迭代器),传入参数为两个地址或迭代器。
max_element(st, ed)返回地址[st, ed)中最大的那个值的下标(迭代器),传入参数为两个地址或迭代器。
时间复杂度均为O(n),n为数组大小(由传入的参数决定)
//初始化v
vector<int> v = {5, 1, 3, 9, 11};//输出最大的元素,*表示解引用,即通过地址(迭代器)得到值
cout << *max_element(v.begin(), v.end()) << '\n';
nth_element函数:
nth_element(st, k, ed)
进行部分排序,返回值为void()
传入参数为三个地址或迭代器。其中第二个参数位置的元素将处于正确位置,其他位置元素的位置可能是任意的,但前面的都比它小,后面的后比它大。时间复杂度O(n)。
//初始化v
vector<int> v = {5, 1, 7, 3, 10, 18, 9};//输出最大的元素,*表示解引用,即通过地址(迭代器)得到值
nth_element(v.begin(), v.begin() + 3, v.end());
//这里v[3]的位置将会位于排序后的位置,其他的任意
for(auto &i : v) cout << i << ' ';
课后题目:
2.3 二分查找
二分法是一种高效的查找方法,它通过将问题的搜索范围一分为二(两边有明显的区别),迭代地缩小搜索范围,直到找到目标或确定目标不存在。
二分法适用于有序数据集合,并且每次迭代可以将搜索范围缩小一半。
二分法本质也是枚举,但和暴力枚举不同,二分法利用数据结构的单调性减少了很多不必要的枚举,从而极大的提高了效率,一般可以将O(n)的枚举优化到O(logn)。
常见的二分类型有:
- 整数二分
- 浮点二分
- 二分答案(最常见)
整数二分查找模板
//找到升序数组a中的x第一次出现的位置
int l = 0, r = 1e9;
//注意这里的判断条件,这样可以保证l,r最终一定收敛到分界点
while(l + 1 != r)//l,r相邻的话退出
{int mid = (l + r) / 2;//如果a为升序,说明mid偏大了,需要减小mid,就只能将r变小,即r = midif(a[mid] >= x) r = mid;else l = mid;//否则l = mid,始终保持在所属区域
}
cout << r << '\n';
浮点二分查找模板
//计算单调函数f(x)的零点
double l = 0, r = 1e9, eps = 1e-6;
//注意这里的判断条件,这样可以保证l,r最终一定收敛到分界点
while(r - l >= eps)//eps是一个极小量,设置为1e-6比较适合
{double mid = (l + r) / 2;//f(x)单调递增,f(mid) >= 0,说明mid偏大了,需要减小mid,就只能将r变小,即r = midif(f(mid) >= 0) r = mid;else l = mid;
}
//最后返回l,r差别不大
cout << r << '\n';
二分答案模板
bool check(int mid)
{bool res = true;//其他内容return res;
}
int main()
{int l = 0, r = 1e9;while(l + 1 != r){int mid = (l + r) / 2;//具体写法需要根据题意修改if(check[mid] >= x) l = mid;else r = mid;
}
cout << l << '\n';//具体输出的内容需要根据题意判断
总结
相关文章:
蓝桥杯备赛笔记(一)
这里的笔记是关于蓝桥杯关键知识点的记录,有别于基础语法,很多内容只要求会用就行,无需深入掌握。 文章目录 前言一、编程基础1.1 C基础格式和版本选择1.2 输入输出cin和cout: 1.3 string以下是字符串的一些简介:字符串…...
在Java中使用Apache POI导入导出Excel(二)
本文将继续介绍POI的使用,上接在Java中使用Apache POI导入导出Excel(一) 使用Apache POI组件操作Excel(二) 14、读取和重写工作簿 try (InputStream inp new FileInputStream("workbook.xls")) { //Inpu…...
linux 中后端jar包启动不起来怎么回事 -bash: java: 未找到命令
一、用以下命令检查jdk版本 输入:java -version,如果JDK 环境变量没有配置,你会看到如下提示 二、配置jdk环境 1.先找到/etc/profile文件,然后在该文件最后面加上以下配置 export JAVA_HOME/usr/local/jdk-21.0.1 export PATH$…...
六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序
本章讲述数据结构中的六大排序算法 欢迎大佬们踊跃讨论,感谢大家支持! 我的博客主页链接 六大排序算法 一.插入排序1.1 直接插入排序1.2 希尔排序 二.选择排序2.1 单向选择排序2.2双向选择排序2.3 堆排序 三.交换排序3.1 冒泡排序3.2 快速排序3.2.1 Hoa…...
快速排序(C++实现)
基本思想 任取一个元素为中心,所有比它小的元素一律前放,比他大的元素一律后放,形成左右两个子表;对各子表重新选择中心元素并依此规则调整,直到每个子表的元素只剩一个。 通过一趟排序,将待排序记录分割成…...
【数据库知识】数据库关系代数表达式
文章目录 概述一、关系代数表达式的基本组成部分二、关系代数运算符及其使用样例三、关系代数表达式的优化四、总结 概述 数据库关系代数表达式是关系数据库系统查询语言的理论基础,它使用一系列符号和运算符来描述从一个或多个关系(即表)中…...
linux系统清理全部python环境并重装
提问 centos系统清理全部python环境并重装,并且使用宝塔。 解答 要在CentOS系统中彻底清理Python3环境,可以遵循以下步骤: 卸载Python3 使用rpm命令卸载所有与Python3相关的包。这个命令会查询所有已安装的与python3相关的rpm包…...
Servlet的介绍
Servlet是Java Web的核心组件,它是一个运行在服务器端的Java程序,用于接收客户端的请求、处理请求并返回响应。Servlet遵循特定的生命周期,包括初始化、服务、销毁等阶段。 生命周期: init():初始化Servlet实例&#x…...
DICOM医学影像应用篇——伪彩色映射 在DICOM医学影像中的应用详解
目录 引言 伪彩色映射的概念 基本原理 查找表(Look-Up Table, LUT) 步骤 示例映射方案 实现伪彩色映射的C代码 代码详解 伪彩色处理效果展示 总结 扩展知识 LUT 的基本概念 LUT 在伪彩色映射中的应用 示例 引言 在医学影像处理中,…...
(超详细图文详情)Navicat 配置连接 Oracle
1、下载依赖文件 Oracle官网下载直链:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html 夸克网盘下载(oracle19c版本):https://pan.quark.cn/s/5061e690debc 官网下载选择对应 Oracle 版…...
PyTorch:神经网络的基本骨架 nn.Module的使用
神经网络的基本骨架 nn.Module的使用 为了更全面地展示如何使用 nn.Module 构建一个适用于现代图像处理任务的卷积神经网络(CNN),我们将设计一个针对手写数字识别(如MNIST数据集)的简单CNN模型。CNN非常适合处理图像数…...
学习threejs,使用CubeCamera相机创建反光效果
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️CubeCamera 立方体相机 二、…...
Linux网络——IO模型和多路转接
通常所谓的IO,其本质就是等待通信和进行通信,即IO 等 拷贝。 那么想要做到高效的IO,就要在单位时间内,减少“等”的比重。 一.五种IO模型 阻塞 IO: 在内核将数据准备好之前, 系统调用会一直等待. 所有的套接字, 默认都是阻塞方…...
【计网】自定义序列化反序列化(二) —— 实现网络版计算器【上】
🌎 实现网络版计算器【上】 文章目录: 实现网络版计算器【上】 自定义协议 制定自定义协议 Jsoncpp序列化反序列化 Json::Value类 Jsoncpp序列化 Jsoncpp反序列化 自定义协议序列化反序列化 …...
数据结构2:顺序表
目录 1.线性表 2.顺序表 2.1概念及结构 2.2接口实现 1.线性表 线性表是n个具有相同特性的数据元素的有限序列。线性表是一种在实际中广泛使用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串 线性表在逻辑上是线性结构,也就说…...
python学习——元组
在 Python 中,元组(tuple)是一种内置的数据类型,用于存储不可变的有序元素集合。以下是关于 Python 元组的一些关键点: 文章目录 定义元组1. 使用圆括号 ()2. 使用 tuple() 函数3. 使用单个元素的元组4. 不使用圆括号…...
apache实现绑定多个虚拟主机访问服务
1个网卡绑定多个ip的命令 ip address add 192.168.45.140/24 dev ens33 ip address add 192.168.45.141/24 dev ens33 在linux服务器上,添加多个站点资料,递归创建三个文件目录 分别在三个文件夹下,建立测试页面 修改apache的配置文件http.…...
无需插件,如何以二维码网址直抵3D互动新世界?
随着Web技术的飞速发展,一个无需额外插件,仅凭二维码或网址即可直接访问的三维互动时代已经悄然来临。这一变革,得益于WebGL技术与先进web3D引擎的完美融合,它们共同构建了51建模网这样一个既便捷又高效的在线三维互动平台&#x…...
系统思考—感恩自己
生命中,真正值得我们铭记与感恩的,不是路途上的苦楚与风雨,而是那个在风雨中依然清醒、勇敢前行的自己,和那些一路同行、相互扶持的伙伴们。 感恩自己,感恩每一个与我们携手并进的人,也期待更多志同道合的…...
Java多线程详解①①(全程干货!!!) 实现简单的线程池 || 定时器 || 简单实现定时器 || 时间轮实现定时器
这里是Themberfue 上一节讲了 线程池 线程池中的拒绝策略 等相关内容 实现简单的线程池 一个线程池最核心的方法就是 submit,通过 submit 提交 Runnable 任务来通知线程池来执行 Runnable 任务 我们简单实现一个特定线程数量的线程池,这些线程应该在…...
DAMODEL丹摩|部署FLUX.1+ComfyUI实战教程
本文仅做测评体验,非广告。 文章目录 1. FLUX.1简介2. 实战2. 1 创建资源2. 1 ComfyUI的部署操作2. 3 部署FLUX.1 3. 测试5. 释放资源4. 结语 1. FLUX.1简介 FLUX.1是由黑森林实验室(Black Forest Labs)开发的开源AI图像生成模型。它拥有12…...
请求(request)
目录 前言 request概述 request的使用 获取前端传递的数据 实例 请求转发 特点 语法 实例 实例1 实例2 【关联实例1】 域对象 组成 作用范围: 生命周期: 使用场景: 使用步骤 存储数据对象 获得数据对象 移除域中的键值…...
关于VNC连接时自动断联的问题
在服务器端打开VNC Server的选项设置对话框,点左边的“Expert”(专家),然后找到“IdleTimeout”,将数值设置为0,点OK关闭对话框。搞定。 注意,服务端有两个vnc服务,这俩都要设置ide timeout为0才行 附件是v…...
C语言strtok()函数用法详解!
strtok 是 C 标准库中的字符串分割函数,用于将一个字符串拆分成多个部分(token),以某些字符(称为分隔符)为界限。 函数原型 char *strtok(char *str, const char *delim);参数: str:…...
【docker 拉取镜像超时问题】
问题描述 在centosStream8上安装docker,使用命令sudo docker run hello-world 后出现以下错误: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Ti…...
模拟手机办卡项目(移动大厅)--结合面向对象、JDBC、MYSQL、dao层模式,使用JAVA控制台实现
目录 1. 项目需求 2. 项目使用的技术 3.项目需求分析 3.1 实体类和接口 4.项目结构 5.业务实现 5.1 登录 5.1.1 实现步骤 5.1.2 原生代码问题 编辑 5.1.3 解决方法 1.说明: 2. ResultSetHandler结果集处理 5.1.4 代码 5.1.5 实现后的效果图 登录成功…...
机器学习—大语言模型:推动AI新时代的引擎
云边有个稻草人-CSDN博客 目录 引言 一、大语言模型的基本原理 1. 什么是大语言模型? 2. Transformer 架构 3. 模型训练 二、大语言模型的应用场景 1. 文本生成 2. 问答系统 3. 编码助手 4. 多语言翻译 三、大语言模型的最新进展 1. GPT-4 2. 开源模型 …...
C++:探索哈希表秘密之哈希桶实现哈希
文章目录 前言一、链地址法概念二、哈希表扩容三、哈希桶插入逻辑四、析构函数五、删除逻辑六、查找七、链地址法代码实现总结 前言 前面我们用开放定址法代码实现了哈希表: C:揭秘哈希:提升查找效率的终极技巧_1 对于开放定址法来说&#…...
具身智能高校实训解决方案——从AI大模型+机器人到通用具身智能
一、 行业背景 在具身智能的发展历程中,AI 大模型的出现成为了关键的推动力量。这些大模型具有海量的参数和强大的语言理解、知识表示能力,能够为机器人的行为决策提供更丰富的信息和更智能的指导。然而,单纯的大模型在面对复杂多变的现实…...
【消息序列】详解(8):探秘物联网中设备广播服务
目录 一、概述 1.1. 定义与特点 1.2. 工作原理 1.3. 应用场景 1.4. 技术优势 二、截断寻呼(Truncated Page)流程 2.1. 截断寻呼的流程 2.2. 示例代码 2.3. 注意事项 三、无连接外围广播过程 3.1. 设备 A 启动无连接外围设备广播 3.2. 示例代…...
网站搭建免费/免费网页制作网站
矩阵的二次型、行列式、特征值、迹和秩 一个mn维矩阵是一种含有mn个元素的多变量表示。在数学中,经常希望使用一个数或标量来概括多变量表示。其中,矩阵的性能指标就是这类典型的例子。本节将介绍概括矩阵性质的几个重要的标量指标,它们分别…...
企业网站管理系统如何使用说明/最新域名ip地址
题目:原题链接(中等) 标签:字符串 解法时间复杂度空间复杂度执行用时Ans 1 (Python)O(N)O(N)O(N)O(1)O(1)O(1)36ms ( 79.64%)Ans 2 (Python)Ans 3 (Python) 解法一: class Solution:def removeVowels(self, S: str)…...
柳市网站设计推广/2022适合小学生的简短新闻
清晨的的地铁站,匆匆忙忙赶着上班的上班族,学生党,为了躲避这繁杂的世界不知道从什么时候开始耳机成为了当代年轻人的生活必备。耳机带来了生人勿近的独享时间,但长时间佩戴,也可能带来了一些潜在的风险 比如中耳炎..…...
河北省建设工程招标投标网站/网络推广网站电话
前端开发前端“前端”,“前端”和“前端”。 您过去可能已经看过或使用了上述所有方法,但是哪个正确? 让我们来看看! wikipedia.org paulirish.com 网站:http://paulirish.com“前端”约154个结果&…...
网站建设 技术要求/品牌管理
我正在使用Apache-Commons FileUpload库将文件上传到服务器.一切正常,但是突然提交文件时,由于某些原因FileItem.isFormField()返回true.这是我的代码FileUpload.java Servletif (ServletFileUpload.isMultipartContent(request)){List items new ServletFileUpload(new DiskF…...
电子商务网站建设与规划/百度上怎么免费开店
目 录 摘 要 i Abstract ii 1 绪论 1 1.1 课题背景及意义 1 1.2 开发工具的选用及介绍 1 1.3 选题目的和意义 2 1.4 本文主要研究的内容 2 2 需求分析 3 2.1 可行性分析 3 2.2 扫雷游戏功能描述 3 2.3 扫雷游戏用例图 4 2.4 扫雷游戏功能需求 4 2.5 扫雷游戏界面需求 5 2.6 扫雷…...