http://codeforces.com/contest/1140/problem/A

题意:一个人看一本解谜书,第 i 个谜题的答案在第 ai 页,他会从头一页一页地翻书,如果今天他看过的所有谜题的答案页他都看过了,那么今天就不看了,否则就要一直往下翻。求解这本书多长时间看完。

思路:模拟即可,不断更新今天看过谜题的答案的最大页码。(这破题也能WA,真的是菜。。。)

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3
 4 int a[10005];
 5 int main()
 6 {
 7     int n;
 8     cin >> n;
 9     for(int i = 1;i <= n;i ++){
10         cin >> a[i];
11     }
12     int ans = 0;
13     int now = 1;
14     while(now <= n){
15         int maxx = a[now];
16         while(now != maxx){
17             now ++;
18             maxx = max(a[now],maxx);
19         }
20         now ++;
21         ans ++;
22     }
23     cout << ans << endl;
24
25     return 0;
26 }

A

http://codeforces.com/contest/1140/problem/B

题意:给一个只含有 '<' 和 '>' 的字符串,如果你经过若干操作能把它的长度变成 1,那么这个串就是好串。

   操作包含两个:1、随便拿出一个 '<' ,然后删除在它左边的所有字符,不包括它本身。

          2、随便拿出一个 '>' ,然后删除在它右边的所有字符,不包括它本身。

   你现在可以直接不通过操作删除任意个字符,问你在最少删除多少个字符后,这个串变成好串。

思路:挺坑的一道题,一看是看错问题以为是括号匹配,WA了之后就没思路了。但是想了一会发现,只要从左找第一个右括号,并且从右找到第一个左括号,看看谁先出现就行了。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3
 4 char a[10005];
 5 int main()
 6 {
 7     int T;
 8     cin >> T;
 9     while(T --){
10         int n;cin >> n;
11         scanf("%s",a);
12         for(int i = 0;i < n;i ++){
13             if(a[i] == '>'){cout << i << endl;break;}
14             if(a[n - i - 1] == '<'){cout << i << endl;break;}
15         }
16     }
17
18     return 0;
19 }

B

http://codeforces.com/contest/1140/problem/C

题意:给定n,k,然后给定 n 对数字 ai,bi。ai 代表一首歌的长度,bi 代表一首歌的幸福值。要求从这 n should歌里面找到不大于 k 首,使得这个歌单的权值最大。

   一个歌单的权值是个单种所有歌曲的总长乘以歌单中最小幸福值。

思路:一开始用的就是贪心,按照幸福值从低到高结构体排序,然后枚举,但是WA掉了。最后找到了一个问题,就是没有处理长度这个变量 ,对于一个已经有的歌单,下一步加入了一个新的幸福值,但是不一定就要抛弃最小的幸福值,应该抛弃的是最小的长度。

   所以将队列改成可以排序的优先队列维护歌单就能AC了。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3
 4 struct Node{
 5     int L;int H;
 6     friend bool operator<(Node a,Node b){return a.L > b.L;}
 7 }a[300005];
 8
 9 bool cmp(Node a,Node b){
10     if(a.H == b.H){return a.L < b.L;}
11     return a.H > b.H;
12 }
13
14 int main()
15 {
16     int n,m;
17     cin >> n >> m;
18     for(int i = 0;i < n;i ++){
19         cin >> a[i].L >> a[i].H;
20     }
21     sort(a,a + n,cmp);
22     priority_queue<Node> Q;
23 //    for(int i = 0;i < n;i ++){
24 //        cout << a[i].L << " " << a[i].H << endl;
25 //    }
26     long long sum = 0;
27     long long ans = 0;
28     for(int i = 0;i < n;i ++){
29         Q.push(a[i]);
30         sum += a[i].L;
31         if(Q.size() > m){
32             sum -= Q.top().L;
33             Q.pop();
34         }
35         //cout << a[i].H << " " << sum <<endl;
36         ans = max(ans,sum * a[i].H);
37     }
38     cout << ans << endl;
39
40     return 0;
41 }

C

http://codeforces.com/contest/1140/problem/D

题意:给一个定义为正多边形的权重:在一个正 n 边形内,将所有顶点依次标记为 1,2,3...n 。然后再中间画出 n - 2 条不相交的对角线,那么一个三角形的权重就是三点标记值的乘积,这个多边形的权重就是所有三角形权重的和。求解最小正 n 边形权重。

思路:我认为这题应该是A题。。。只要读懂题就能过。公共顶点一定是 1 ,不断的加上 i * (i + 1) 就行了。

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3
 4
 5 int main()
 6 {
 7     int n;
 8     cin >> n;
 9     long long ans = 0;
10     for(int i = 2;i <= n - 1;i ++){
11         ans += i * i + i;
12     }
13     cout << ans << endl;
14
15     return 0;
16 }

D

转载于:https://www.cnblogs.com/love-fromAtoZ/p/10657235.html

EducationalCodeforcesRound62(Div. 2)(A-D题解)相关推荐

  1. Educational Codeforces Round 133 (Rated for Div. 2)(CD题解)

    Educational Codeforces Round 133 (Rated for Div. 2)CD题解 过AB补CD C. Robot in a Hallway 题意 题意:现有 2∗m 的方 ...

  2. Codeforces Round #640 (Div. 4)(ABCDEG题解)

    文章目录 A. Sum of Round Numbers B - Same Parity Summands C - K-th Not Divisible by n D - Alice, Bob and ...

  3. Codeforces Round #198 (Div. 2)A,B题解

    Codeforces Round #198 (Div. 2) 昨天看到奋斗群的群赛,好奇的去做了一下, 大概花了3个小时Ak,我大概可以退役了吧 那下面来稍微总结一下 A. The Wall Iahu ...

  4. Educational Codeforces Round 137 (Rated for Div. 2)A~D题解

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 A. Password B. Permutation Val C. Save the Magazines D. Pro ...

  5. Codeforces Round #774 (Div. 2)E题题解

    Codeforces Round #774 (Div. 2) E. Power Board 题目陈述 有一个n×m(1≤n,m≤106)n\times m(1\le n,m\le10^6)n×m(1≤ ...

  6. Educational Codeforces Round 110 div.2 A~F题解

    视频讲解:BV1254y137Rn A. Fair Playoff 题目大意 有 444 位选手参加比赛,第 iii 位选手的水平为 si(1≤si≤100)s_i(1 \leq s_i \leq 1 ...

  7. Codeforces Round #635 (Div. 2)(A~D)题解

    Codeforces #635 A~D A.Ichihime and Triangle B.Kana and Dragon Quest game C.Linova and Kingdom D.Xeni ...

  8. Codeforces Round #641 (Div. 2)A~E题解(数论场)

    题目大意就是给你一个数执行k次操作,每次加上这个数的最小质因子(除了一以外)变成一个新的数,问最后的数是多少 解题思路:很明显如果一开始是偶数的话就会一直加2加2,如果是奇数的话先找到这个数的质因子一 ...

  9. 2016-2017 ACM-ICPC Pacific Northwest Regional Contest (Div. 2) 【部分题解】

    A:因为删除是不计入操作次数的,所以转化一下就是求最长上升子序列,简单dp. 设dp[i]表示前i个字符能凑成上升子序列的最大长度,dp[i] = max(dp[j]+1, dp[i]) [j < ...

最新文章

  1. React 表单与事件
  2. 一种生成不重复数的算法
  3. Visual Studio配置VLFeat库(一次配置,永久生效)
  4. python3(七)os模块
  5. 谷歌五笔输入法电脑版_“五笔输入法”打字速度更快,为什么却没啥人用?
  6. 关于类、抽象类和接口的继承关系
  7. Catalan数应用
  8. java 事务嵌套_解惑 spring 嵌套事务
  9. 组件注册-@Scope-设置组件作用域
  10. 剑指Offer之不用加减乘除做加法
  11. ClientToScreen ScreenToClient GetWindowRect GetClientRect
  12. 【翻译】用Tempo和Jaeger在Grafana中进行分布式追踪
  13. 神经网络各种评判指标
  14. 腾讯第一批开发工程师徐钢武回忆道【曾几何时我真的认为代码是这样的】
  15. 痞子衡嵌入式:存储器大厂Micron的NOR Flash芯片特殊丝印设计(FBGA代码)
  16. IgH详解六、IgH命令行工具使用
  17. 浏览器无法启动百度网盘应用的解决办法
  18. OpenFire+Spark构建实时协作平台
  19. 用仿ActionScript的语法来编写html5——第七篇,自定义按钮
  20. 第八章---《实时语音处理实践指南》盲源分离笔记

热门文章

  1. asp.net中此页的状态信息无效,可能已损坏的解决之道
  2. Java判断字符串是否是整数
  3. find命令查找某些文件并将其拷贝到指定目录
  4. 【转】X分钟速成c++
  5. HashMap(Java)
  6. STM32开发 -- UTC、UNIX时间戳、北京时间之间的转换
  7. zcmu2012(积性函数---因子和)
  8. 读取CSV内容,根据不同的图片标签放到指定文件夹
  9. Android PC投屏简单尝试(录屏直播)2—硬解章(MediaCodec+RMTP)
  10. linux make编译卡死,为linux内核编译make文件时出现问题?