18_01_13_Note+组队赛的坑
快速幂:
const int MOD = 1e9+7; //素数 typedef long long ll; ll pow_mod(ll n, ll a) { if (n == 0)return 1; ll res = pow_mod(a, n / 2); //记录,避免重复递归 if (n % 2 == 1)return res * res % MOD * a % MOD; //数据过大的时候要取模输出 else return res * res % MOD; }
M_House Building
侧面积直接对每一个位置计算,正值求和负值舍去。特殊处理容易出bug。
I_一元三次方程求解
设置精度eps(用零点定理的话好像不需要,但如果是每个值带入求解的话就需要,有可能取到的点只是趋近于0
二分(迭代100+次,emmm...区间的判定还没弄清楚....
D_尺取
坑or笔记
· 10的6次方是七位数(被自己蠢哭
· J_Just watering
求圆对长方形的全覆盖最少圆数等价于圆与长方形的长的交线对长方形的长的全覆盖的最少线段数
Edu_CF_36_A_Garden
AC代码:
#include<iostream> #include<algorithm> using namespace std; bool cmp(int a,int b){ return a>=b; } int main(){ int n,k,a[100]; int i,t; cin>>n>>k; for(i=0;i<n;i++) cin>>a[i]; sort(a,a+n,cmp); for(i=0;i<n;i++){ if(k%a[i]==0){ t=k/a[i]; cout<<t<<endl; break; } } }
Edu_CF_36_B_Browser
题意理解错了导致wa4了半个多小时...
AC代码:
#include<iostream> using namespace std; int main(){ int n,pos,l,r; int t; cin>>n>>pos>>l>>r; if(l==1&&r==n) t=0; else if(l==1){ if(pos<=r) t=r-pos+1; else t=pos-r+1; } else if(r==n){ if(pos>=l) t=pos-l+1; else t=l-pos+1; } else if(l==r){ if(pos>=l) t=pos-l+2; else t=l-pos+2; } else if(pos>=l&&pos<=r){ int x; if(r-pos>pos-l) x=pos-l; else x=r-pos; t=r-l+x+2; } else { if(pos<l) t=1+l-pos; else t=pos-r+1; } cout<<t<<endl; }