A 海岛争霸 题目:Q次询问,他想知道从岛屿A 到岛屿B 有没有行驶航线,若有的话,所经过的航线,危险程度最小可能是多少. 多源点最短路,用floyd 在松弛更新:g[i][k] < g[i][j] && g[k][j] < g[i][j]时,g[i][j] = max(g[i][k],g[k][j]); #include<bits/stdc++.h> using namespace std; const int maxn = 510; int n,m; int q…
A.谍报分析 题意:请你编程,快速统计出频率高的前十个单词. 思路:字符串输入,map哈希表map<string,int >记录每个单词出现的次数,pair重载优先级 #include<bits/stdc++.h> using namespace std; map<string,int > mp; string s; typedef pair<string, int> PAIR; bool cmp(const PAIR& lhs, const PAI…
A 计划日 题意:已知李明在YYYY年MM月DD日星期W订了学习计划,现在想看看李明N天后的完成情况和个人总结,你能告诉我那天的日期和星期几吗? 模拟日期计算: 计算星期可以用基姆拉尔森公式 //中国的星期 结果要+1 int Day(int y,int m,int d) { if(m==1 || m==2) m+=12,y-=1; return (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7; } AC代码 #include<bits/stdc++.h> us…
A 挑战密室 化学方程式求分子量 这题我懒得写了 可以用map<string,int>哈希表,表示每种分子的相对分子质量 之后,从头遍历到尾. 1.数字:连读直到不是数字 2.字母:连读直到不是字母 3.括号:从左括号开始遍历,重复1.2,到右括号退出 下面这个代码可以AC,但是有bug的,数字超过10,或者字母连着>3个就挂了 #include<cstdio> #include<cstring> #include<map> #include<s…
A 表达式求值 表达式求值:可以用递归求解,也可以用栈模拟,考过多次. 类似题目:NYOJ305,NYOJ35 用栈模拟做法: #include <stdio.h> #include <string.h> #include <stack> using namespace std; stack<int> dsta;//数据栈 stack<char> osta;//字符栈 char s[1005]; int main() { int T,i,j; s…
虽然大赛已经结束了两天,不过比赛的场景还是不断地在眼前回放,一遍遍,这次的比赛给了我很深刻的感悟还有教训. 刚开始比赛选择了贩卖武器那道题,也是全场到最后唯一没有被人做出来的一道题,策略的严重错误,大概耽误了1个多小时. 后面发现了此题的难度,于是换了一道题简单题,不过由于测试数据多了一个空格,一直超时,此刻已经受到了比较大的打击,并且心神开始乱了起来,以至于做第二题的时候 一直明白怎么写,却错了好多次,不能静心分析细节,不过后来由于队友的鼓励重新冷静了下来,情况才得以好转,这使我发现了自己的不…
省赛总结 首先说说比赛时的情况吧,刚开始的时候我的任务就是翻译英文题目,找出比较水的题目,他们两个直接找中文水题切,其实每次比赛我们都是这样配合的,由于他们的判题系统一开始存在问题,交的正确的代码给判错了,这就让我们感到很不爽了,不过没关系,因为其他人提交的也是错的,然后就接着做其他题目,大约出了三道题目之后,系统重判了,第一道题竟然拿了一血,感觉还不错,然后我就写了两道图论的题目,都是1A,在时间上取得了优势,前面四个小时一直是第一名,但是可惜的是自从封榜之后再也没出题,然后后来的结果大家都知…
我们学校ACM集训开始于4月5号(清明节),5月25日在郑州解放军信息工程大学举办,集训耗时50天,但是感觉效果还行,但是也不是太好:我们也已经尽力了,虽然说只拿了个银牌,每份收获的背后,都会有辛勤的汗水,毕竟我们也努力了: 下面说说比赛中的问题:觉得吧,虽说模拟赛参加了很多,但是到了正式的比赛的时候,还是出现了紧张的情况,九点开始比赛,我们AC第一道题的时间是在十点半左右,题目不难而且曾经也做过啊,但是就是调试不好,越调试不好,心里就越急啊:刚开始看题的时间,我们都看了第一道题,意思也都明白,…
1195: OS Job Scheduling Time Limit: 2 Sec  Memory Limit: 128 MB Submit: 106  Solved: 35 [id=1195" style="color:rgb(26,92,200); text-decoration:none">Submit][Status][Web Board] Description OS(Operating System) is to help user solve the pr…
题目大意: 给定一个序列,以最小代价将其变成单调不增或单调不减序列,求最小的变动价值:需要用到离散化dp 状态转移方程: dp[i][j]=abs(j-w[i])+min(dp[i-1][k]);(k<=j)这里的k无需从1遍历到j. 只要在对j进行for循环的时候不断更新一个dp[i-1][j]的最小值mn=min(mn,dp[i-1][j]), 然后对dp[i][j]=abs(j-w[i])+mn即可; #include<algorithm> #include<iostream…