Codeforces Round #277 (Div. 2)
来源:互联网 发布:mac 图片浏览 编辑:程序博客网 时间:2024/05/16 14:00
A. Calculating Function
time limit per test
1 secondmemory limit per test
256 megabytesinput
standard inputoutput
standard outputFor a positive integer n let's define a function f:
f(n) = - 1 + 2 - 3 + .. + ( - 1)nn
Your task is to calculate f(n) for a given integer n.
Input
The single line contains the positive integer n (1 ≤ n ≤ 1015).
Output
Print f(n) in a single line.
Sample test(s)
input
4
output
2
input
5
output
-3
Note
f(4) = - 1 + 2 - 3 + 4 = 2
f(5) = - 1 + 2 - 3 + 4 - 5 = - 3
#include <iostream>#include <cstdio>#include <cstring>#include <stack>using namespace std;int main(){#ifdef xxz freopen("in.txt","r",stdin);#endif // xxz long long n; while(cin>>n) { long long sum = 0; sum += n/2; if(n%2) sum -= n; cout<<sum<<endl; } return 0;}
把A数组全部赋值为1,然后根据B数组再把A数组一些元素赋值为0,最后算A和B比较,注意如果开始把A全部初始化为0,很难算出来(稍微思考就知道了,如果全部赋值为0,那么1的时候你不知道把A的哪些赋值为1,就容易出错)
#include <functional>#include <algorithm>#include <iostream>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cstring>#include <climits>#include <cassert>#include <complex>#include <cstdio>#include <string>#include <vector>#include <bitset>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <list>#include <set>#include <map>using namespace std;int n , m;int g[1111][1111];int res[1111][1111];bool check_1(int row , int column){ int ok = 0; for(int k = 0 ; k < n ; k ++) ok |= res[row][k]; for(int k = 0 ; k < m ; k ++) ok |= res[k][column] ; if(ok) return true; else return false;}int main(){ #ifdef xxz freopen("in.txt","r",stdin); #endif while(~scanf("%d%d",&m,&n)) { for(int i = 0 ; i < m ; i ++) { for(int j = 0 ; j < n ; j ++) { scanf("%d",&g[i][j]); } } for(int i = 0 ; i < m ; i ++) { for(int j = 0 ; j < n ; j ++) { res[i][j] = 1; } } for(int i = 0 ; i < m ; i ++) { for(int j = 0 ; j < n ; j ++) { if(g[i][j] == 0) { for(int k = 0 ; k < n ; k ++) res[i][k] = 0; for(int k = 0 ; k < m ; k ++) res[k][j] = 0; } } } int flag1 = 0; for(int i = 0 ; i < m ; i ++) { for(int j = 0 ; j < n ; j ++) { if(g[i][j] == 1) { if(!check_1(i , j)) flag1 = 1; } if(flag1) break; } if(flag1) break; } if(flag1) printf("NO\n"); else { printf("YES\n"); for(int i = 0 ; i < m ; i ++) { for(int j = 0 ; j < n ; j ++) { printf("%d%c",res[i][j], j == n - 1 ? '\n' : ' '); } } } }}
只要考虑一半就行,然后判断一半的一半离pos是近还是远计算就行
#include <functional>#include <algorithm>#include <iostream>#include <fstream>#include <sstream>#include <iomanip>#include <numeric>#include <cstring>#include <climits>#include <cassert>#include <complex>#include <cstdio>#include <string>#include <vector>#include <bitset>#include <queue>#include <stack>#include <cmath>#include <ctime>#include <list>#include <set>#include <map>using namespace std;int n , pos;char s[100100];int main(){#ifdef xxz freopen("in.txt","r",stdin);#endif int T,Case = 0;; while(cin>>n>>pos) { pos--; cin>>s; int len = strlen(s); int l = 0,r = n/2 - 1; if(n/2 <= pos) pos = n - pos-1; while(l < n/2 && s[l] == s[n-1-l]) l++; while(r >=0 && s[r] == s[n-1-r] ) r--; int ans = 0; for(int i = l; i <= r; i++) { int temp = abs(s[i] - s[n-1-i]); ans += min(temp,26 - temp); } if(l < r) { ans += min(abs(pos - l), abs(r - pos)) + r- l; } else if(l == r) { ans += abs(pos - r); } cout<<ans<<endl; } return 0;}
D:
树形DP,目前还不会,等打完广州区域赛在学习下树形DP再补上
1 0
- Codeforces Round #277 (Div. 2)
- Codeforces Round #277 (Div. 2)
- Codeforces Round #277 (Div. 2)
- Codeforces Round #277(Div. 2)
- Codeforces Round #277 (Div. 2)
- Codeforces Round #277 (Div. 2)
- Codeforces Round #277 (Div. 2)
- Codeforces Round #277 (Div. 2)
- 【codeforces】Codeforces Round #277 (Div. 2) 题解
- Codeforces Round #277 (Div. 2) 解题报告
- Codeforces Round #277 (Div. 2) 题解
- 【索引】Codeforces Round #277(Div. 2)
- Codeforces Round #277 (Div. 2)(D)
- Codeforces Round #277 (Div. 2) A B
- Codeforces Round #277 (Div. 2)D题
- Codeforces Round #277 (Div. 2)E题
- Codeforces Round #277 (Div. 2) B
- Codeforces Round #277 (Div. 2) C
- Trie树实现
- Linux中Java程序调用Blast进行序列匹配
- Intellij IDEA调试功能使用总结
- Molar mass
- linux系统中scp命令的用法
- Codeforces Round #277 (Div. 2)
- servlet基本概念
- !
- leetcode:Palindrome Number 回文整数
- 题目【2005】
- 在Unity中如何实现重复循环效果?
- JAVA中,eXtremeDB SQL与Date类型的结合
- 如何直接打开Visual Studio 2013 的帮助文档
- Cloneable接口