2015 多校第三场

 

1002

求max(f(a),f(b)), f为不重复的素因子个数, 在数据要求以内 , 每个数最多有7个,可以打表。

 1 /*Author :usedrose  */
 2 /*Created Time :2015/7/29 11:32:09*/
 3 /*File Name :2.cpp*/
 4 #include <cstdio>
 5 #include <iostream>
 6 #include <algorithm>
 7 #include <sstream>
 8 #include <cstdlib>
 9 #include <cstring>
10 #include <climits>
11 #include <vector>
12 #include <string>
13 #include <ctime>
14 #include <cmath>
15 #include <deque>
16 #include <queue>
17 #include <stack>
18 #include <set>
19 #include <map>
20 #define INF 0x3f3f3f3f
21 #define eps 1e-8
22 #define pi acos(-1.0)
23 #define MAXN 1000010
24 #define OK cout << "ok" << endl;
25 #define o(a) cout << #a << " = " << a << endl
26 #define o1(a,b) cout << #a << " = " << a << "  " << #b << " = " << b << endl
27 using namespace std;
28 typedef long long LL;
29 int num[MAXN][10];
30 int p[MAXN];
31 int f[MAXN];
32 
33 void init()
34 {
35     for (int i = 2;i < MAXN;++ i) 
36         if (!p[i]) 
37     {
38         f[i]++;
39             for (int j = i+i; j < MAXN; j += i)  {
40                 p[j] = 1;
41                 f[j] ++;
42             }
43         }
44 
45     for (int j = 0;j < 7; ++ j)    {
46         for (int i = 2;i < MAXN; ++ i) {
47             num[i][j] = num[i-1][j] + (f[i] == j + 1);
48         }    
49     }
50 }
51 
52 int T, l, r;
53 
54 int main()
55 {
56     //freopen("data.in","r",stdin);
57     //freopen("data.out","w",stdout);
58     cin.tie(0);
59     ios::sync_with_stdio(false);
60     init();
61     cin >> T;
62     while (T--) {
63         cin >> l >> r;
64         int k[8];
65         memset(k , 0, sizeof(k));
66         for (int i = 0;i < 7; ++ i) {
67             k[i+1] = num[r][i] - num[l-1][i];
68         }
69         int gcd = 1;
70         if (k[2] + k[4] + k[6] >= 2) gcd = 2;
71         if (k[3] + k [6] >= 2) gcd = 3;
72         if (k[4] >= 2) gcd = 4;
73         if (k[5] >= 2) gcd = 5;
74         if (k[6] >= 2) gcd = 6;
75         if (k[7] >= 2) gcd = 7;
76         cout << gcd << endl;
77     }
78     return 0;
79 }
View Code

 

1004

一开始题意没看懂, 蛋疼。

  1 #include <iostream>
  2 #include <stdio.h>
  3 #include <algorithm>
  4 #include <string.h>
  5 #include <string>
  6 #include <math.h>
  7 #include <stack>
  8 #include <queue>
  9 #include <vector>
 10 #include <map>
 11 #include <set>
 12 #pragma warning(disable:4996)
 13 
 14 #define Zero(a) memset(a, 0, sizeof(a))
 15 #define Neg(a)  memset(a, -1, sizeof(a))
 16 #define All(a) a.begin(), a.end()
 17 #define PB push_back
 18 #define repf(i,a,b) for(i = a;i <= b; i++)
 19 #define lson l,m,rt<<1
 20 #define rson m+1,r,rt<<1|1
 21 #define root 1,n,1
 22 #define ld rt << 1
 23 #define rd rt << 1 | 1
 24 #define ll long long
 25 #define MAXN 200005
 26 #define INF 6666666
 27 #define mod 10007
 28 using namespace std;
 29 char mp[110][110];
 30 int mpp[110][110];
 31 int n;
 32 int m;
 33 int ret(char c){
 34     if (c == 'R') return 1;
 35     if (c == 'B') return 2;
 36     if (c == 'G') return 3;
 37     if (c == '.') return 0;
 38 }
 39 void init(){
 40     scanf("%d", &n);
 41     memset(mpp, 0, sizeof(mpp));
 42     for (int i = 0; i < n; ++i){
 43         scanf("%s", mp[i]);
 44         m = strlen(mp[i]);
 45         for (int j = 0; j < m; ++j){
 46             mpp[i][j] = ret(mp[i][j]);
 47         }
 48     }
 49     //cout << n << " " << m << endl;
 50 }
 51 int solve(){
 52     int ans = 0;
 53     bool flag = false;
 54     for (int k = n - 1; k >= 1 - m; --k){
 55         flag = false;
 56         for (int x = 0; x < m; ++x){
 57             int y = x + k;
 58             if (x >= 0 && x < m && y >= 0 && y < n){
 59                 if ((mpp[y][x] & 1)){
 60                     mpp[y][x]-=1;
 61                     if (!flag){
 62                         flag = true;
 63                         ans++;
 64                     }
 65                 }else if ((mpp[y][x] & 1) == 0 && flag) 
 66                     flag = false;
 67             }
 68         }
 69     }
 70     flag = false;
 71     for (int k = 0; k < n + m ; ++k){
 72         flag = false;
 73         for (int x = 0; x < m; ++x){
 74             int y = k - x;
 75             if (x >= 0 && x < m && y >= 0 && y < n){
 76                 if ((mpp[y][x] & 2)){
 77                     mpp[y][x] -= 2;
 78                     if (!flag){
 79                         flag = true;
 80                         ans++;
 81                     }    
 82                 }else if ((mpp[y][x] & 2) == 0 && flag) 
 83                     flag = false;
 84             }
 85         }
 86     }
 87     return ans;
 88 }
 89 int main(){
 90     //freopen("data.in","r",stdin);
 91     //freopen("data.out","w",stdout);
 92     int T;
 93     while (~scanf("%d", &T)){
 94         while (T--){
 95             init();
 96             printf("%d\n", solve());
 97         }
 98     }
 99     return 0;
100 }
View Code

 

1008

搜索。。论读懂题目的重要性 + 合理的思路

 1 /*Author :usedrose  */
 2 /*Created Time :2015/7/29 16:44:55*/
 3 /*File Name :2.cpp*/
 4 #include <cstdio>
 5 #include <iostream>
 6 #include <algorithm>
 7 #include <sstream>
 8 #include <cstdlib>
 9 #include <cstring>
10 #include <climits>
11 #include <vector>
12 #include <string>
13 #include <ctime>
14 #include <cmath>
15 #include <deque>
16 #include <queue>
17 #include <stack>
18 #include <set>
19 #include <cassert>
20 #include <map>
21 #define INF 0x3f3f3f3f
22 #define eps 1e-8
23 #define pi acos(-1.0)
24 #define MAXN 1110
25 #define OK cout << "ok" << endl;
26 #define o(a) cout << #a << " = " << a << endl
27 #define o1(a,b) cout << #a << " = " << a << "  " << #b << " = " << b << endl
28 using namespace std;
29 typedef long long LL;
30 
31 LL n;
32 
33 void dfs(LL l, LL r)
34 {
35     if (l < 0 || l > r) return;
36     if (l == 0) {
37         n = min(n, r);
38         return;
39     }
40     LL len = r - l + 1;
41     if (l - len < 0) return;
42     dfs(l, r + len);
43     if (len != 1)
44         dfs(l, r + len - 1);
45     dfs(l - len, r);
46     dfs(l - len - 1, r);
47 }
48 
49 int main()
50 {
51     //freopen("data.in","r",stdin);
52     //freopen("data.out","w",stdout);
53     cin.tie(0);
54     ios::sync_with_stdio(false);
55     LL a, b;
56     while (cin >> a >> b) {
57         n = INF;
58         dfs(a, b);
59         cout << ((n == INF) ? -1 : n) << endl;
60     }
61     return 0;
62 }
View Code

 

 

1010

按权值建图之后,从权值高到权值低的方向bfs, 或者像别人一样DFS

 1 /*Author :usedrose  */
 2 /*Created Time :2015/7/29 14:48:09*/
 3 /*File Name :2.cpp*/
 4 #include <cstdio>
 5 #include <iostream>
 6 #include <algorithm>
 7 #include <sstream>
 8 #include <cstdlib>
 9 #include <cstring>
10 #include <climits>
11 #include <vector>
12 #include <string>
13 #include <ctime>
14 #include <cmath>
15 #include <deque>
16 #include <queue>
17 #include <stack>
18 #include <set>
19 #include <map>
20 #define INF 0x3f3f3f3f
21 #define eps 1e-8
22 #define pi acos(-1.0)
23 #define MAXN 500110
24 #define OK cout << "ok" << endl;
25 #define o(a) cout << #a << " = " << a << endl
26 #define o1(a,b) cout << #a << " = " << a << "  " << #b << " = " << b << endl
27 using namespace std;
28 typedef long long LL;
29 
30 int n;
31 int w[MAXN];
32 vector<int> G[MAXN];
33 int du[MAXN], num[MAXN];
34 
35 int gao()
36 {
37     queue<int> q;
38     for (int i = 1;i <= n; ++ i)
39         if (du[i] == 0)
40             q.push(i);
41     int ans = 0;
42     while (!q.empty()) {
43         int t = q.front();
44         q.pop();
45         ans = max(ans, num[t]);
46         for (int i = 0;i < G[t].size() ; ++ i) {
47             int v = G[t][i];
48             num[v] += num[t];
49             if (--du[v] == 0)
50                 q.push(v);
51         }
52     }
53     return ans;
54 }
55 
56 
57 void init()
58 {
59     for (int i = 1;i <= n; ++ i) {
60         du[i] = 0;
61         num[i] = 1;
62         G[i].clear();
63     }
64 }
65 
66 int main()
67 {
68     //freopen("data.in","r",stdin);
69     //freopen("data.out","w",stdout);
70     cin.tie(0);
71     ios::sync_with_stdio(false);
72     while (cin >> n) {
73         init();
74         for (int i = 1;i <= n; ++ i) 
75             cin >> w[i];
76         int x, y;
77         for (int i = 1;i < n; ++ i) {
78             cin >> x >> y;
79             if (w[x] > w[y]) swap(x, y);
80             G[y].push_back(x);
81             du[x]++;
82         }
83         cout << gao() << endl;
84     }
85     return 0;
86 }
View Code

DFS代码 转自 http://blog.csdn.net/gaoxiang36999/article/details/47110271

 1 /*Author :usedrose  */
 2 /*Created Time :2015/7/29 14:48:09*/
 3 /*File Name :2.cpp*/
 4 #include <cstdio>
 5 #include <iostream>
 6 #include <algorithm>
 7 #include <sstream>
 8 #include <cstdlib>
 9 #include <cstring>
10 #include <climits>
11 #include <vector>
12 #include <string>
13 #include <ctime>
14 #include <cmath>
15 #include <deque>
16 #include <queue>
17 #include <stack>
18 #include <set>
19 #include <map>
20 #define INF 0x3f3f3f3f
21 #define eps 1e-8
22 #define pi acos(-1.0)
23 #define MAXN 500110
24 #define OK cout << "ok" << endl;
25 #define o(a) cout << #a << " = " << a << endl
26 #define o1(a,b) cout << #a << " = " << a << "  " << #b << " = " << b << endl
27 using namespace std;
28 typedef long long LL;
29 
30 int n;
31 int w[MAXN];
32 vector<int> G[MAXN];
33 int du[MAXN], num[MAXN];
34 
35 int gao()
36 {
37     queue<int> q;
38     for (int i = 1;i <= n; ++ i)
39         if (du[i] == 0)
40             q.push(i);
41     int ans = 0;
42     while (!q.empty()) {
43         int t = q.front();
44         q.pop();
45         ans = max(ans, num[t]);
46         for (int i = 0;i < G[t].size() ; ++ i) {
47             int v = G[t][i];
48             num[v] += num[t];
49             if (--du[v] == 0)
50                 q.push(v);
51         }
52     }
53     return ans;
54 }
55 
56 
57 void init()
58 {
59     for (int i = 1;i <= n; ++ i) {
60         du[i] = 0;
61         num[i] = 1;
62         G[i].clear();
63     }
64 }
65 
66 int main()
67 {
68     //freopen("data.in","r",stdin);
69     //freopen("data.out","w",stdout);
70     cin.tie(0);
71     ios::sync_with_stdio(false);
72     while (cin >> n) {
73         init();
74         for (int i = 1;i <= n; ++ i) 
75             cin >> w[i];
76         int x, y;
77         for (int i = 1;i < n; ++ i) {
78             cin >> x >> y;
79             if (w[x] > w[y]) swap(x, y);
80             G[y].push_back(x);
81             du[x]++;
82         }
83         cout << gao() << endl;
84     }
85     return 0;
86 }
View Code

 

1011

数据量很小 随便搞

 1 /*Author :usedrose  */
 2 /*Created Time :2015/7/28 11:55:10*/
 3 /*File Name :2.cpp*/
 4 #include <cstdio>
 5 #include <iostream>
 6 #include <algorithm>
 7 #include <sstream>
 8 #include <cstdlib>
 9 #include <cstring>
10 #include <climits>
11 #include <vector>
12 #include <string>
13 #include <ctime>
14 #include <cmath>
15 #include <deque>
16 #include <queue>
17 #include <stack>
18 #include <set>
19 #include <map>
20 #define INF 0x3f3f3f3f
21 #define eps 1e-8
22 #define pi acos(-1.0)
23 #define MAXN 110
24 #define OK cout << "ok" << endl;
25 #define o(a) cout << #a << " = " << a << endl
26 #define o1(a,b) cout << #a << " = " << a << "  " << #b << " = " << b << endl
27 using namespace std;
28 typedef long long LL;
29 
30 vector<int> G[MAXN];
31 int n, k;
32 int du[MAXN];
33 int num[MAXN];
34 int vis[MAXN];
35 
36 int main()
37 {
38     while (cin >> n >> k) {
39         for (int i = 1;i <= n; ++ i)  {
40             G[i].clear();
41             num[i] = 1, du[i] =  0, vis[i] = 0;
42         }
43         int x, y;
44         for (int i = 0;i < n-1; ++ i) {
45             cin >> x >> y;
46             G[y].push_back(x);
47             du[x]++;
48         }
49        for (int k = 1;k <= n; ++ k) {      
50             for (int i = 1;i <= n; ++ i) {
51                 if (du[i] == 0) {
52                     for (int j = 0;j < G[i].size(); ++ j) {
53                         int v = G[i][j];
54                         du[v]--;
55                         num[v] += num[i];
56                     }
57                     du[i] = -1;
58                 }
59             }
60        }
61        int ans = 0;
62        for (int i = 1; i <= n; ++ i) {
63            if (num[i] - 1 == k) ans++;
64        }
65        cout << ans << endl;
66     }
67     return 0;
68 }
View Code

 

转载于:https://www.cnblogs.com/usedrosee/p/4687011.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273092.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信支付现金红包接口(转)

微信支付现金红包接口正式开放&#xff0c;只需开通微信支付&#xff0c;即可接入现金红包。通过现金红包接口&#xff0c;公众号开发者可以策划相关运营活动&#xff0c;向用户发放微信支付现金红包&#xff0c;更好的达到品牌推广及回馈用户的效果。具体能力如下&#xff1a;…

The return types for the following stored procedures could not be detected

1、使用dbml映射数据库&#xff0c;添加存储过程到dbml文件时报错。 2、原因&#xff1a;存储过程中使用了临时表 3、解决方案 3.1 通过自定义表值变量实现 Ex: DECLARE TempTable TABLE ( AttributeID INT, Value NVARCHAR(200) ) INSERT INTO TempTable Select * from Attrib…

webstock php,workerman_connection

workerman_connection 测试WebStock 功能Description整理PHP 实现webstock 功能的相关流程。感谢workerman 开发作者提供开源组件。安装 composer# curl -sS https://getcomposer.org/installer | php如果安装 composer 提示PHP 版本不够按照如下处理&#xff0c;否则跳过。提示…

java android 界面设计,Android精美登录界面设计

在网上在到一个登录界面感觉挺不错的&#xff0c;给大家分享一下~先看效果图&#xff1a;这个Demo除了按钮、小猫和Logo是图片素材之外&#xff0c;其余的UI都是通过代码实现的。一、背景背景蓝色渐变&#xff0c;是通过一个xml文件来设置的。代码如下&#xff1a;background_l…

jmeter java接口,jmeter并发测试java接口 | 学步园

Sample这里我用到主要JMeter的线程和报表&#xff0c;扩展了他的“Java请求”这个应用类别。要扩展此应用&#xff0c;要用到lib/ext/ApacheJMeter_java.jar,他封装此应用。首先&#xff0c;需要继承ApacheJMeter_java.jar中的抽象类AbstractJavaSamplerClient&#xff0c;它提…

Web项目练习总结(错误校正篇)

老师布置任务&#xff0c;从SVN上弄个项目来练练手&#xff0c;熟悉下过程。 myeclipse安装SVN 然后把MobileManageSys下下来 然后漫长的等待。。。 然后配置数据库&#xff0c;导入&#xff0c;这里用的是SQLyog&#xff0c;其他的也可以 之后这里会产生一大堆的错误&#xff…

nginx php7提速,nginx+php7-fpm 性能提升几倍跟踪实践结果并优化

nginxphp7-fpm 性能提升几倍跟踪实践结果并优化nginxphp7-fpm 性能提升几倍&#xff0c;跟踪实践结果并优化历史ubuntu服务器使用的apachephp5&#xff0c;现在使用nginuxphp7-fpm方式&#xff0c;看效果图&#xff0c;啥也不说了。强烈推荐升级到php7&#xff0c;当然升级中基…

matlab地球卫星模型,地球卫星三维运行轨道MATLAB仿真

地球卫星三维运行轨道MATLAB仿真1、问题的描述3 轨道上运行的地球卫星&#xff0c;根据牛顿第二定律Fma以及万有引力定律F-GmME*r/r&#xff0c;3可得a-GME*r/r&#xff0c;即x -GME*x/r3 3 y -GME*y/r; z -GM*z/r3E (1)式中&#xff0c;(x&#xff0c;y&#xff0c;z)表示卫星…

php中定义css样式的好处,CSS的优点和缺点分别是什么

CSS的优点有&#xff1a;丰富的样式定义、易于修改、结构清晰、多页面使用等&#xff1b;CSS的缺点&#xff1a;浏览器支持不一样具有兼容性、不能明确指定继承性CSS的主要哦作用是为HTML页面添加样式&#xff0c;使得页面更加美观。接下来在文章中将为大家详细介绍CSS的优点与…

设计模式学习笔记-观察者模式

1. 概述 有时被称作发布/订阅模式&#xff0c;观察者模式定义了一种一对多的依赖关系&#xff0c;让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时&#xff0c;会通知所有观察者对象&#xff0c;使它们能够自动更新自己。 2. 解决的问题 将一个系统分割…

Handler与多线程

1、Handler介绍 在Android开发中&#xff0c;我们常会使用单独的线程来完成某些操作&#xff0c;比如用一个线程来完成从网络上下的图片&#xff0c;然后显示在一个ImageView上&#xff0c;在多线程操作时&#xff0c;Android中必须保证以下两点&#xff1a; &#xff08;1&…

oracle语法官方文档,Oracle官方文档必备语法知识

很多Oracle DBA虽然接触Oracle时间很长&#xff0c;但是一旦想不起语法或找不出相应参数时&#xff0c;习惯百度或谷歌。虽然已经下载了官方文档&#xff0c;但是Oracle官方文档必备语法知识[日期&#xff1a;2015-04-21]来源&#xff1a;Linux社区作者&#xff1a;kuqlan[字体…

新中大oracle实列名,新中大财务软件操作流程(完整版)

新中大财务软件最基本的三个模块&#xff1a;核算单位、财务处理系统、报表处理系统。简单地说&#xff0c;核算单位模块是用于建账&#xff0c;财务处理系统用于登账&#xff0c;报表处理系统用于出报表的。一、总账处理系统1、建账套双击财务软件图标 → 在登录界面选择用户编…

linux切换任务命令,Linux top详解之交互命令、命令行选项

top交互命令我们之前说过top是一个交互命令。上一节我们已经遇到了一些命令。这里我们会探索更多的命令。2.1 ‘h’: 帮助首先&#xff0c;我们可以用’h’或者’?’显示交互命令的帮助菜单。2.2 “或者”: 刷新显示top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新&am…

linux系统硬盘设置密码,LUKS:Linux下磁盘加密

Linux下磁盘加密LUKS(Linux Unified Key Setup)为Linux硬盘加密提供了一种标准&#xff0c;它不仅能通用于不同的Linux发行版本&#xff0c;还支持多用户/口令。因为它的加密密钥独立于口令&#xff0c;所以如果口令失密&#xff0c;我们可以迅速改变口令而无需重新加密真个硬盘…

Hibernate查询

9.1 Hibernate数据查询 数据查询与检索是Hibernate的一个亮点。Hibernate的数据查询方式主要有3种&#xff0c;它们是&#xff1a; l Hibernate Query Language&#xff08;HQL&#xff09; l Criteria Query l Native SQL 下面对这3种查询方式分别进…

单例模式 创建对象

两种选择 1 使用pthread_once&#xff0c; once是类的成员变量 只执行一次Create create的作用是创建一个对象 2 使用 static lock 如下所示&#xff0c;注意lock必须是static的&#xff0c;否则是局部变量&#xff0c;每个线程都有自己的lock&#xff0c;无法保证只执行一次。…

opencv配置

OpenCV的简单安装和一次性配置在这里就不赘述了&#xff0c;网上教程很多&#xff0c;可以参考一下这个链接里面的教程http://wenku.baidu.com/view/3b40de25453610661ed9f46b.html。 但是很多情况下面&#xff0c;我们新建一个项目就要重新配置一次OpenCV&#xff0c;那就相当…

linux 动态执行cp,Linux常用命令之cp、mv、rm、cat、more、head、tail、ln命令讲解

上一章节中&#xff0c;我们了解到了Linux系统的最基础的几个文件处理命令&#xff0c;核心的是ls命令&#xff0c;在今天这章中&#xff0c;我们来继续学习Linux对于文件操作相关的一些命令&#xff0c;比如复制、移动、删除、查看等命令。1、cp 命令解释命令名称&#xff1a;…

Linux鼠标回报率修改,鼠标回报率怎么调? 设置鼠标回报率的三种方法

鼠标回报率如何设置呢&#xff1f;鼠标回报率又称刷新率&#xff0c;是指鼠标MCU与电脑传输数据频率。鼠标回报率对于游戏玩家而言至关重要&#xff0c;但同时鼠标回报率与电脑性能息息相关。只有电脑硬件性能良好&#xff0c;才能适当提升鼠标回报率&#xff0c;以实现更高的鼠…