Codeforces Round #137 (Div. 2)
来源:互联网 发布:医疗软件销售招聘天津 编辑:程序博客网 时间:2024/04/30 00:04
Codeforces Round #137 (Div. 2)
掉ranking了,这次cf水成这样,才搞出了两个题,还都不是1Y,彻底无语了
A题 ,多找几个规律看看就知道了,发现,从第k个数到第n个数是个循环,如果循环你的数不样的话就不可能存在,如果循环里的数一样的话,就看从k'向前扫描看第几个数和k不一样那么必须把这个数和这个数一样的的数全部都T掉,所以答案就输出这个数的位置
B题 ,用个代表行 和 列的指针 就行了,每次行或者列交换,只是指针的值 之间的交换
C题,郁闷,我怎么都看不懂c题意,英语太他妈的狗屎了
D题,贪心,先把a数组从小都打排序,把b数组加入集合,从左到右扫面a,然后查找 >= x-a[i] 最小的数,ans++,用multiset实现很方便
#include <iostream>#include <cstdio>#include <cstring>#include <set>using namespace std;const int maxn=100010;int a[maxn];multiset<int> st;multiset<int>::iterator it;int main(){ int n,m,tmp; while(scanf("%d%d",&n,&m)==2) { st.clear(); for(int i=0;i<n;i++) scanf("%d",&a[i]); for(int i=0;i<n;i++) { scanf("%d",&tmp); st.insert(tmp); } int ans=0; for(int i=0;i<n;i++) { it=st.lower_bound(m-a[i]); if(it!=st.end()) ans++,st.erase(it); } printf("1 %d\n",ans); } return 0;}
E题 就是赤裸裸的矩阵快速幂,用举证来表明状态和状态之间的转移
#include <cstdlib>#include <iostream>#include <cstdio>#include <algorithm>#include <set>#include <cstring>using namespace std;const int mod=1000000007;typedef long long ll;ll a[52][52],b[52][52],sz;int cal(char c){ if(c>='a'&&c<='z') return c-'a'; else return c-'A'+26;}void mult(ll a[][52],ll b[][52]){ ll tmp[52][52]={0}; for(int i=0;i<sz;i++) for(int j=0;j<sz;j++) for(int r=0;r<sz;r++) tmp[i][j]=(tmp[i][j]+a[i][r]*b[r][j])%mod; memcpy(a,tmp,sizeof(tmp));}int main(){ ll n; int k; char l[3]; while(scanf("%I64d %d %d",&n,&sz,&k)==3) { for(int i=0;i<sz;i++) for(int j=0;j<sz;j++) a[i][j]=1,b[i][j]=(i==j); for(int i=0;i<k;i++) { scanf("%s",l); int t1=cal(l[0]),t2=cal(l[1]); a[t1][t2]=0; } for(n--;n;n>>=1,mult(a,a)) if(n&1) mult(b,a); ll ans=0; for(int i=0;i<sz;i++) for(int j=0;j<sz;j++) ans=(ans+b[i][j])%mod; printf("%I64d\n",ans); } return 0;}
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2)
- Codeforces Round #137 (Div. 2), problem: (C)
- Codeforces Round #137 (Div. 2) A题
- Codeforces Round #102 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #104 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #107 (Div. 2)
- Codeforces Round #108 (Div. 2)
- Codeforces Round #110 (Div. 2)
- Oracle远程连接
- oracle带游标的存储过程
- Android常用命令
- 查询数据库当前连接数(session),进程数等操作
- 基于位运算的权限细粒度控制
- Codeforces Round #137 (Div. 2)
- oracle存储过程一条语句走天涯
- 做事时杂乱的记录 【持续更新】【因有借鉴,就归为转载吧】
- ASP.NET 防止用户跳过登陆界面
- Java ThreadLocal
- GCD介绍(一): 基本概念和Dispatch Queue
- linux SD卡驱动分析
- java面试题三:spring中的BeanFactory与ApplicationContext的作用和区别?
- 面试训练把数组排成最小的数