NOI题解
文章平均质量分 83
记录在Open Judge上遇到的坑和详细题解
v_xchen_v
这个作者很懒,什么都没留下…
展开
-
【NOI题解】 3.7数据结构之堆
NOI题目地址( 3.7数据结构之堆 ):http://noi.openjudge.cn/ch0307/【NOI 2726:集合问题】分析:将K个数放到N个集合中,使得偏差值之和最小。 算法n个数可能有1~n个集合,假设最优解有k个集合,那么构造一个k个节点的小根堆,小根堆的每个节点代表对应集合中的负荷值,每次取一个数据累加到堆顶,当所有的数据分配完成,由小根堆节点数据计算出的偏差值之和一定是所有原创 2017-12-18 18:08:54 · 543 阅读 · 0 评论 -
【NOI题解】 3.3数据结构之栈
NOI题目地址( 3.3数据结构之栈 ):http://noi.openjudge.cn/ch0303/ 1696:逆波兰表达式分析:逆波兰表达式计算用一个栈来存储数字,从右向左遍历表达式遇到数字就压栈遇到操作符就弹出栈中的两个数字计算并压栈最后栈中剩余的数字就是我们要的结果 - Tip 这里计算的是前缀表达式,如果计算后缀表达式,将从右向左遍历改为从左向右遍历,修改带有次序的运算符如’原创 2017-12-19 20:15:15 · 1165 阅读 · 0 评论 -
【NOI题解】 3.2数据结构之指针和链表
NOI题目地址(3.2数据结构之指针和链表):http://noi.openjudge.cn/ch0302/ 这部分的题解出于练习指针和链表的目的,我都是自定义的链表结构。实际上C++提供了STL list链表容器,对于链表元素的增删查反转等操作都有封装好的接口,直接使用将会得到非常简洁的代码。1748:约瑟夫问题分析:用循环链表解决约瑟夫环问题 关键在于: - 删除链表结点的操作 -原创 2017-12-21 19:57:19 · 1663 阅读 · 0 评论 -
NOI题解(1.10编程基础之简单排序)
简单排序:原创 2017-08-03 10:53:41 · 6205 阅读 · 0 评论 -
NOI题解(1.9编程基础之顺序查找)(待补全)
01:查找特定的值#include "iostream"using namespace std;int main(){ int n; int num[10002]; cin>>n; for(int i=0;i<n;i++) { cin>>num[i]; } int cmpn; cin>>cmpn; b原创 2016-09-10 21:54:24 · 4945 阅读 · 3 评论 -
NOI题解(1.8编程基础之多维数组)(待补全)
01:矩阵交换行#include "iostream"using namespace std;int main(){ int num[5][5]; for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { cin>>num[i][j]; } }原创 2017-05-28 12:26:45 · 3081 阅读 · 0 评论 -
NOI题解(1.7编程基础之字符串)(待补全)
01:统计数字字符个数#include "iostream"#include "iomanip"using namespace std;int main(){ string str; getline(cin,str); int count=0; for(int i=0;i<str.length();i++) { if(str.at原创 2016-09-07 19:37:11 · 11381 阅读 · 2 评论 -
NOI题解(1.6编程基础之一维数组)(补全)
01:与指定数字相同的数的个数#include "iostream"using namespace std;int main(){ int count; int time=0; int num[100]; cin>>count; for(int i=0;i<count;i++) { cin>>num[i]; }原创 2016-09-07 19:00:36 · 17834 阅读 · 0 评论 -
NOI题解(1.5编程基础之循环控制)
01:求平均年龄#include "iostream"#include "math.h"#include "iomanip"using namespace std;int main(){ int count; cin>>count; int num[100]; int sum=0; for(int i=0;i<count;i++)原创 2016-09-06 17:02:35 · 42836 阅读 · 9 评论 -
NOI题解(1.4编程基础之逻辑表达式与条件分支)
01:判断数正负#include "iostream"#include "math.h"#include "iomanip"/**/using namespace std;int main(){ long N; cin>>N; if(N>0) { cout<<"positive"<<endl; }else if(N==0)原创 2016-08-31 21:55:20 · 16349 阅读 · 0 评论 -
NOI题解(1.3编程基础之算术表达式与顺序执行)
01:A+B问题#include "iostream"using namespace std;int main(){ int a,b; cin>>a>>b; cout<<a+b; return 0;}02:计算(a+b)*c的值#include "iostream"using namespace std;int m原创 2016-08-29 21:44:58 · 12256 阅读 · 1 评论 -
NOI题解(1.2编程基础之变量定义、赋值及转换)
01:整型数据类型存储空间大小#include "iostream"using namespace std;int main(){ int a; short b; cout<<sizeof(a)<<" "<<sizeof(b); return 0;}02:浮点型数据类型存储空间大小#include "iostream"using name原创 2016-08-26 00:05:44 · 8458 阅读 · 0 评论 -
NOI题解(1.1编程基础之输入输出)
测试网站地址:http://noi.openjudge.cn08:字符三角形描述给定一个字符,用它构造一个底边长5个字符,高3个字符的等腰字符三角形。输入输入只有一行, 包含一个字符。输出该字符构成的等腰三角形,底边长5个字符,高3个字符。样例输入*样例输出 * ********#include "i原创 2016-08-25 10:44:54 · 25359 阅读 · 1 评论