2013多校第三场

hdu 4629

题意:给你n个三角形,问覆盖1~n次的面积各是多少,n < 50;

分析:取出所有端点和交点的x坐标,排序,然后对于每一段xi~xi+1的范围的线段都是不相交的,所以组成的

面积要么是三角形,要么是梯形,可以直接用公式算面积,然后对于每一个三角形的线段都标记该段对于

从下往上的扫描线来说是入边还是出边,然后就可以直接计算出这块面积被覆盖了几次;如入边加1,出边减一

下图,黄色表示覆盖次数;

  1 #include<cstdio>
  2 #include<cstring>
  3 #include<iostream>
  4 #include<algorithm>
  5 #include<cmath>
  6 #include<vector>
  7 #include<cstdlib>
  8 #define pbk push_back
  9 using namespace std;
 10 const int N = 25050+10;
 11 const double eps = 1e-10;
 12 inline double sqr(double x){
 13     return x * x;
 14 }
 15 inline int dcmp(double x){
 16     return x < -eps ? -1 : x > eps;
 17 }
 18 struct Point{
 19     double x,y;
 20     int kind;
 21     Point(){}
 22     Point(double x,double y,int kind = 0):x(x),y(y),kind(kind){}
 23     bool operator < (const Point &p)const{
 24         return dcmp(x - p.x) < 0 || ( dcmp(x - p.x) == 0 && dcmp(y - p.y) < 0 );
 25     }
 26     Point operator - (const Point &p)const{
 27         return Point(x - p.x, y - p.y);
 28     }
 29     Point operator + (const Point &p)const{
 30         return Point(x + p.x, y + p.y);
 31     }
 32     Point operator * (const double &k)const{
 33         return Point (x*k , y*k);
 34     }
 35     Point operator / (const double &k)const{
 36         return Point (x/k, y/k);
 37     }
 38     double operator * (const Point &p)const{
 39         return x * p.y - y * p.x;
 40     }
 41     double operator / (const Point &p)const{
 42         return x * p.x + y * p.y;
 43     }
 44     void input(){
 45         scanf("%lf%lf",&x,&y);
 46     }
 47     void ot(){
 48         printf("%lf %lf\n",x,y);
 49     }
 50 };
 51 struct Line{
 52     Point a,b;
 53     int kind;
 54     Line (){}
 55     Line (Point a,Point b,int kind = 0):a(a),b(b),kind(kind){}
 56     double operator * (const Point &p)const{
 57         return ( b - a ) * ( p - a );
 58     }
 59     double operator / (const Point &p)const{
 60         return ( p - a) / ( p - b);
 61     }
 62     bool parallel(const Line &v){
 63         return !dcmp( ( b - a ) * ( v.b - v.a ) ); 
 64     }
 65     int LineCrossLine(const Line &v){
 66         if ( (*this).parallel(v) ){
 67             return ( dcmp( v * a ) == 0);
 68         }return 2;
 69     }
 70     int SegCrossSeg(const Line &v){
 71         int d1 = dcmp( (*this) * v.a);
 72         int d2 = dcmp( (*this) * v.b);
 73         int d3 = dcmp( v * a);
 74         int d4 = dcmp( v * b);
 75         if ( ( d1 ^ d2 ) == -2 && ( d3 ^ d4 ) == -2 ) return 2;
 76         return ( ( d1 == 0 && dcmp( (*this) / v.a ) <= 0 )
 77             ||   ( d2 == 0 && dcmp( (*this) / v.b ) <= 0 )
 78             ||   ( d3 == 0 && dcmp( v / a ) <= 0 )
 79             ||   ( d4 == 0 && dcmp( v / b ) <= 0 )
 80             );
 81     }
 82     Point CrossPoint(const Line &v){
 83         double s1 = v * a, s2 = v * b;
 84         return ( a * s2 - b * s1) / (s2 - s1);
 85     }
 86     void input(){
 87         a.input(); b.input();
 88     }
 89     void ot(){
 90         a.ot(); b.ot();
 91     }
 92 
 93 };
 94 
 95 int n,poly_n,xn;
 96 vector<double> lx;
 97 vector<Line> line;
 98 double ans[N];
 99 void init(){
100     int sz = line.size();
101     for (int i = 0; i < sz; i++){
102         for (int j = i+1; j < sz; j++){
103             if (line[i].SegCrossSeg(line[j]) == 2){
104                 Point p = line[i].CrossPoint(line[j]);
105                 lx.pbk(p.x);
106             }
107         }
108     }
109     
110     sort(lx.begin(),lx.end());
111     xn = unique(lx.begin(),lx.end()) - lx.begin();
112 }
113 vector<Point> qu[N];
114 void work(){
115     for (int i = 0; i <= n; i++) ans[i] = 0;
116     for (int i = 0; i < xn-1; i++){
117         int k = 0;
118         for (int j = 0; j+1 < qu[i].size(); j++){
119             k += qu[i][j].kind;
120             ans[ k ] += (lx[i+1] - lx[i]) * (qu[i][j+1].x+qu[i][j+1].y - qu[i][j].x - qu[i][j].y) / 2;        
121         }
122     }
123     for (int i = 1; i <= n; i++) printf("%.10lf\n",ans[i]);
124 }
125 void check(){
126     for (int i = 0; i < xn - 1; i++){
127         cout<<qu[i].size()<<" >.<"<<endl;
128         for (int j = 0; j < qu[i].size(); j++){
129             qu[i][j].ot(); cout<<qu[i][j].kind<<endl;
130         }
131     }
132 }
133 void solve(){
134     for (int i = 0; i < xn; i++) qu[i].clear();
135     for (int i = 0; i < line.size(); i++){
136         int j = lower_bound(lx.begin(),lx.begin()+xn,line[i].a.x) - lx.begin();
137         for (; j+1 < xn; j++ ){
138             double l = lx[j], r = lx[j+1];
139             if (dcmp(r - line[i].b.x) > 0) break;
140             Point p1 = line[i].CrossPoint(Line(Point(l,0), Point(l,1)));
141             Point p2 = line[i].CrossPoint(Line(Point(r,0), Point(r,1)));
142             qu[j].pbk(Point(p1.y, p2.y,line[i].kind));
143         }
144     }
145     for (int i = 0; i < xn - 1; i++) sort(qu[i].begin(), qu[i].end());
146 //    check();
147     work();
148 }
149 int main(){
150     int T; scanf("%d",&T);
151     while (T--){
152         scanf("%d",&n);
153         lx.clear(); line.clear();;
154         for (int i = 0; i < n ;i++){
155             Point t[4];
156             for (int j = 0; j < 3; j++ ){
157                 t[j].input(); 
158             }
159             t[3] = t[0];
160             int flag = 1;
161             if (dcmp( (t[1] - t[0])*(t[2] - t[0]) ) == 0) flag = 0;
162         
163             for (int i = 0; i < 3 && flag; i++ ){
164                 lx.pbk(t[i].x);
165                 for (int j = i+1; j < 3; j++){
166                     Line tmp; tmp.a = t[i]; tmp.b = t[j];
167                     if (dcmp( tmp.a.x - tmp.b.x ) > 0) swap(tmp.a, tmp.b);
168                     
169                     Line tmp2 = Line(t[3-i-j], Point(t[3-i-j].x, t[3-i-j].y - 1));
170                     if (tmp.LineCrossLine(tmp2) != 2) continue;
171                     Point tp = tmp.CrossPoint(tmp2);
172                     if (dcmp(tp.y - t[3-i-j].y) < 0) tmp.kind = 1;
173                         else tmp.kind = -1;    
174                     line.pbk(tmp);
175                 }
176             }
177         }
178         init();
179         solve();    
180     }
181     return 0;
182 }
View Code

 

hdu 4622

题意:给你一个长n的串,Q次询问其子串s[l,r]中不同的串的个数;

分析:正解后缀自动机,或者HASH,比赛的时候用后缀数组水过了,时间复杂度是O(Qn+nlogn);

先对整个串跑一遍后缀数组,然后对于每一次的询问,直接从SA数组里取出来,然后按照统计串中不同字串的论文题来做,需要注意一下不同之处,

当前字串要统计的个数不一定是减去前一个字串统计的数目,也许还要减去更前一个字串的个数;

  1 #include<cstdio>
  2 #include<cstring>
  3 #include<cstdlib>
  4 #include<vector>
  5 #include<algorithm>
  6 #include<cmath>
  7 #include<iostream>
  8 using namespace std;
  9 const int N = 2000+10;
 10 struct Suffix_Array{
 11     int a1[N],a2[N],c[N],sa[N],SA[N],*x,*y,n,m;
 12     int height[N],*rank;
 13     void sort(){
 14         for (int i = 0; i < m ; i++) c[i] = 0;
 15         for (int i = 0; i < n; i++) c[x[i]] ++;
 16         for (int i = 0; i < m; i++) c[i+1] += c[i];
 17         for (int i = n-1; i>=0; i-- ) SA[--c[x[sa[i]]]] = sa[i];
 18     }
 19     void build_SA(char *s){
 20         n = strlen(s); m = 256;
 21         x = a1; y = a2; x[n] = y[n] = -1;
 22         for (int i = 0; i < n; i++) x[i] = s[i], sa[i] = i;
 23         sort();
 24         for (int k = 1; k <= n; k <<= 1){
 25             int p = 0;
 26             for (int i = n-k; i < n; i++) sa[p++] = i;
 27             for (int i = 0; i < n; i++) if (SA[i] >= k) sa[p++] = SA[i] - k;
 28             sort();
 29             
 30             p = 0; y[ SA[0] ] = 0;
 31             for (int i = 1; i < n; i++){
 32                 if ( x[SA[i-1]] != x[SA[i]] || x[SA[i-1]+k]!= x[SA[i]+k] ) p++;
 33                 y[SA[i]] = p;
 34             }
 35             swap(x,y);
 36             if (p+1 == n) break;
 37             m = p+1;
 38         }
 39         rank = x; getHeight(s);
 40     }
 41     void getHeight(char *s){
 42         int k = 0;
 43         for (int i = 0; i < n; i++){
 44             if (k) k--;
 45             if (rank[i] == 0) continue;
 46             int j = SA[rank[i] - 1];
 47             while (s[j+k] && s[i+k] == s[j+k]) k++;
 48             height[rank[i]] = k;
 49         }
 50         height[n] = 0;
 51     }
 52     
 53 }H;
 54 int f[12][N];
 55 void initRMQ(int n,int height[]){
 56     n--;
 57     for  (int i = 1; i <= n; i++) f[0][i] = height[i];
 58     for (int j = 1; (1<<j) <= n; j++)
 59         for (int i = 1; i+(1<<(j-1)) <= n; i++){
 60             f[j][i] = min(f[j-1][i] ,f[j-1][i+(1<<(j-1))]);
 61         }
 62 };
 63 int lcp(int a,int b){
 64     if (a > b) swap(a,b);
 65     a++;
 66     int k = 0;
 67     while (1<<(1+k) <= b - a +1) k++;
 68     return min(f[k][a],f[k][b-(1<<k)+1]);    
 69 }
 70 char s[N];
 71 int Q;
 72 vector<int> q;
 73 void solve(int l,int r){
 74     int n = strlen(s);
 75     q.clear();
 76     int cnt = r - l + 1;
 77     for (int i = 0; i <n; i++){
 78         if (H.SA[i]>=l && H.SA[i]<=r){
 79             q.push_back(i);
 80             cnt -- ;
 81         }
 82         if (cnt == 0) break;
 83     }
 84     int ret = r - H.SA[ q[0] ] + 1;
 85     int tmp = ret;
 86     for (int i = 1; i < q.size(); i++){
 87         int t1 = r - H.SA[ q[i-1] ] + 1;
 88         int t2 = r - H.SA[ q[i] ] + 1;
 89         int lc = lcp(q[i-1],q[i]);
 90         if (lc<tmp) tmp = lc;
 91         if (t2 - tmp > 0) ret += t2 - tmp;
 92         if (t2 > tmp) tmp = t2;
 93     }
 94     printf("%d\n",ret);
 95 }
 96 int main(){
 97     //freopen("D:\\in.txt","r",stdin);
 98     //freopen("D:\\out.txt","w",stdout);
 99     int T; scanf("%d",&T);        
100     while (T--){
101         scanf("%s",s);
102         scanf("%d",&Q);
103         H.build_SA(s);
104         //check();
105         initRMQ(H.n,H.height);
106         while (Q--){
107             int l,r;
108             scanf("%d%d",&l,&r);
109             solve(l-1,r-1);
110         }    
111     }
112     return 0;
113 }
View Code

 

hdu 4627

题意:给你一个数n,求a+b = n,lcm(a,b)最大;

分析:n为奇数,答案(n/2)*(n/2+1);

n为偶数,k = n/2;k是奇数,答案为k-2,k+2;否则k-1,k+1;比赛的时候直接暴力找了。

 1 #include<cstring>
 2 #include<cstdlib>
 3 #include<iostream>
 4 #include<cmath>
 5 #include<vector>
 6 #include<algorithm>
 7 #include<cstdio>
 8 using namespace std;
 9 typedef long long LL;
10 const int N = 1000;
11 LL n;
12 void solve(){
13     LL l ,r;
14     if (n%2 == 0){
15         l = r =n/2;
16     }else {
17         l = n/2; r = n/2+1;
18     }
19     LL ans = 0;
20     while (1){
21         LL t = __gcd(l,r);
22         if (t==1){
23             if (l*r>ans) ans = l*r;
24             break;
25         }else {
26             if (l*r/t > ans) ans = l*r/t;
27         }
28         l--; r++;
29         if (l == 0) break;
30     }
31     printf("%I64d\n",ans);
32 
33 }
34 int main(){
35     int T; scanf("%d",&T);
36     while (T--){
37         scanf("%I64d",&n);
38         solve();
39     }
40     return 0;
41 }
View Code

 

hdu 4628

题意:给你一个串,每次只能删除一个回文序列,求最少多少次能把这个串删完;

分析:n = 16,状压,预处理出所有是回文序列的情况,然后DP也过了,题解是一个3^n的方法,就是每次用位运算每次枚举I的子集;

这个是枚举i的子集的位运算写法:for (int j = i;  j ; j = i & (j-1));

然后为什么是3^n次,首先从0~1<<n里面含有一个1的个数是c(n,1),2个1的有c(n,2),...n个1的c(n,n);

含有一个1的数的子集有2^1,2个1的数的子集有2^2,k个1的数2^k,...然后加起来就是(2+1)^n == 3^n;

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<iostream>
 4 #include<algorithm>
 5 #include<cstdlib>
 6 #include<vector>
 7 #include<cmath>
 8 using namespace std;
 9 const int N = 1<<16;
10 char s[20];
11 int n;
12 vector <int > q;
13 int check(int x){
14     char ts[20];
15     int c = 0;
16     for (int i = 0; i < n; i++ ){
17         if (x&(1<<i)) ts[c++] = s[i];  
18         ts[c] = 0;
19     }
20     
21     int k = 0,l , r;
22     if (c%2){
23         l = r = c/2;
24     }else {
25         l = c/2-1; r = c/2;
26     }
27     while (ts[l-k] == ts[r+k] && l-k>=0 && r+k<c){
28         k++;
29     }
30     if (r+k == c) {
31         return 1;
32     }
33     return 0;
34 }
35 int dp[N],can[N];
36 void init(){
37     memset(can,0,sizeof(can));
38     for (int i = 1; i < (1<<n); i++){
39         if (check(i)){
40             can[i] = 1;
41         }
42     }
43 
44 }
45 void solve(){
46     for (int i = 0; i < (1<<n); i++)  dp[i] = n;
47     dp[0] = 0;
48     for (int i = 1; i < (1<<n); i++){
49         for (int j = i; j ; j = i&(j-1)){
50             if (can[j])
51             dp[i] = min(dp[i] , dp[i^j]+1); 
52         }
53     }
54     printf("%d\n",dp[(1<<n)-1]);
55 }
56 int main(){
57     int T; scanf("%d",&T);
58     while (T--){
59         scanf("%s",s);
60         n = strlen(s);
61         init();
62         solve();
63     }
64     return 0;
65 }
View Code

 

hdu 4630

题意:给你一个1~n的排序a1~an,Q次询问在区间[l,r]中的最大gcd(a,b).a,b属于[l,r];

分析:离线,从左到右扫一遍,idx[x]记录的是扫到当前位置时,含有x因子的最右的数的位置;

这样对于当前位置的ai,找出ai的所有约数,对于约数bi,在线段树中更新 在前面出现的含有bi的最右边的数的那个位置的值,也就是idx[bi]处更新出现的最大约数;

  1 #include<cstdio>
  2 #include<cstring>
  3 #include<iostream>
  4 #include<vector>
  5 #include<algorithm>
  6 #include<cmath>
  7 #include<cstdlib>
  8 #define lson l,m,rt<<1
  9 #define rson m+1,r,rt<<1|1
 10 using namespace std;
 11 const int N = 50000+10;
 12 int mx[N<<2];
 13 int idx[N];
 14 int a[N];
 15 int n,Q;
 16 struct Line{
 17     int x,y;
 18     int id,ans;
 19     Line(){}
 20     Line (int x,int y):x(x),y(y){}
 21     bool operator < (const Line &p)const{
 22         return y<p.y || (y == p.y && x < p.x);
 23     }
 24 }L[N];
 25 bool cmp(Line a,Line b){
 26     return a.id<b.id;
 27 }
 28 void pushup(int rt){
 29     mx[rt] = max(mx[rt<<1] , mx[rt<<1|1]);
 30 }
 31 
 32 void update(int L,int c,int l,int r,int rt){
 33     if (l == r){
 34         if (c > mx[rt]) mx[rt] = c;
 35         return;
 36     }
 37     int m = (l+r)>>1;
 38     if (L <= m) update(L,c,lson);
 39     if (m <  L) update(L,c,rson);
 40     pushup(rt);
 41 }
 42 int query(int L,int R,int l,int r,int rt){
 43     if (L<=l && r<=R){
 44         return mx[rt];
 45     }
 46     int m = (l+r)>>1;
 47     int t1 = 0, t2 = 0;
 48     if (L <= m) t1 = query(L,R,lson);
 49     if (m <  R) t2 = query(L,R,rson);
 50     return max(t1,t2);
 51 }
 52 void insert(int now){
 53     int m = (int)sqrt((double)a[now]);
 54     
 55     for (int  j = 1; j <= m ; j++){        
 56         if (a[now]%j == 0){
 57             update(idx[j], j, 0, n, 1);
 58             idx[j] = now;
 59             if (a[now]/j !=j){
 60                 int c = a[now] / j;
 61                 update(idx[c], c, 0, n, 1);
 62                 idx[c] = now;
 63             }
 64         }
 65     }    
 66 }
 67 void solve(){
 68     memset(mx,0,sizeof(mx));
 69     memset(idx,0,sizeof(idx));
 70     int now = 1,flag = 1;
 71     for (int i = 0; i < Q; ){
 72         
 73         if ( flag ){
 74             flag = 0; insert(now);
 75         }
 76         if (L[i].y == now){
 77             L[i].ans = query(L[i].x, L[i].y, 0, n, 1);
 78             i++;
 79         }
 80         if (now < L[i].y ){
 81             flag = 1; now++;
 82         }
 83     }
 84     sort(L,L+Q,cmp);
 85 
 86     for (int i = 0; i < Q; i++){
 87         printf("%d\n",L[i].ans);
 88     }
 89 }
 90 int main(){
 91     int T; scanf("%d",&T);
 92     while (T--){
 93         scanf("%d",&n);
 94         for (int i = 1; i <= n; i++){
 95             scanf("%d",&a[i]);
 96         }
 97         scanf("%d",&Q);
 98         for (int i = 0; i < Q; i++){
 99             scanf("%d%d",&L[i].x,&L[i].y);
100             L[i].id = i;
101         }
102         sort(L,L+Q);
103         solve();
104     }
105     return 0;
106 }
View Code

 

hdu 4631

题意:依次给你n个点,每次求出当前点中的最近点对,输出所有最近点对的和;

分析:按照x排序,然后用set维护,每次插入只更新当前点和插入点前后几个位置,如果最近距离变为0就break;

因为点的坐标的构造方法,所以是可以过的,(其实我也不太懂);

 1 #include<iostream>
 2 #include<algorithm>
 3 #include<cmath>
 4 #include<iostream>
 5 #include<vector>
 6 #include<cstdio>
 7 #include<cstdlib>
 8 #include<set>
 9 using namespace std;
10 typedef long long LL;
11 const int N = 110000;
12 int n;
13 LL ax,bx,cx,ay,by,cy;
14 struct Point{
15     LL x,y;
16     Point(){}
17     Point(LL x,LL y):x(x),y(y){};
18     bool operator < (const Point &p)const{
19         return x < p.x || (x == p.x && y < p.y);
20     }
21     void ot(){
22         cout<<x<<" "<<y<<endl;
23     }
24 };
25 LL sqr(LL x){
26     return x*x;
27 }
28 LL Distance(Point a,Point b){
29     return sqr((LL)a.x - b.x) + sqr((LL)a.y - b.y);
30 }
31 Point p[100];
32 multiset<Point> st;
33 multiset<Point> :: iterator it1,it2,it3;
34 
35 void solve(){
36     st.clear();
37     LL ans = 0;
38     LL nx = 0, ny = 0;
39     nx = ( bx ) % cx;
40     ny = ( by ) % cy;
41     st.insert(Point(nx,ny));    
42     LL mi = -1;
43     for (int i = 1; i < n; i++){
44         nx = ((LL)nx * ax + bx ) % cx;
45         ny = ((LL)ny * ay + by ) % cy;
46         Point t = Point(nx,ny);
47         st.insert(t);
48         it1 = it2 = it3 = st.lower_bound(t);
49         int k = 10;
50         while (k--){
51             if (it1 != st.begin()) it1--;
52             if (it3 != it1){
53                 LL d1 = Distance(t,*it1);
54                 if (mi == -1 || d1<mi){
55                     mi = d1;
56                 }
57             }
58             if (it2 != st.end()) it2++;
59             if (it2 != st.end() && it2!= it3){
60                 LL d2 = Distance(t,*it2);
61                 if (mi == -1 || d2 < mi){
62                     mi = d2;
63                 }
64             }
65         }
66         ans += mi;
67         if (mi == 0) break;
68     }
69     printf("%I64d\n",ans);
70 }
71 int main(){
72     int T; scanf("%d",&T);
73     while (T--){
74         scanf("%d",&n);
75         scanf("%d%d%d%d%d%d",&ax,&bx,&cx,&ay,&by,&cy);
76         solve();
77     }
78     return 0;
79 }    
View Code

 

 

 

 

 

 

转载于:https://www.cnblogs.com/Rlemon/p/3227729.html

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

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

相关文章

TSS 任务状态段

TSS(任务状态段)1 什么是TSS TSS 全称task state segment&#xff0c;是指在操作系统进程管理的过程中&#xff0c;任务&#xff08;进程&#xff09;切换时的任务现场信息。 2 TSS工作细节 TSS在任务切换过程中起着重要作用&#xff0c;通过它实现任务的挂起和恢复。所谓…

Linux下C语言程序的内存布局

以下内容源于C语言中文网的内容学习与整理。如有侵权&#xff0c;请告知删除。 一、C语言内存布局 C程序所占用的内存&#xff0c;可以划分为以下几个部分。 1、栈区&#xff08;stack&#xff09;。由编译器自动分配释放&#xff0c;存放函数的参数值&#xff0c;局部变量的值…

微型计算机频繁死机的原因,电脑经常死机是什么原因|电脑经常死机的解决方法...

‍‍电脑出现死机是很常见的一种故障&#xff0c;造成的原因也有很多种。而最近有些用户的电脑经常死机&#xff0c;开机几分钟就死机&#xff0c;有时还会出现蓝屏&#xff0c;这到底是怎么回事呢&#xff1f;电脑经常死机是什么原因呢&#xff1f;下面小编结合自己的实际情况…

PKI系统深入介绍

公钥基础设施&#xff08;Public Key Infrastructure&#xff0c;简称PKI&#xff09;是眼下网络安全建设的基础与核心&#xff0c;是电子商务安全实施的基本保障&#xff0c;因此&#xff0c;对PKI技术的研究和开发成为眼下信息安全领域的热点。本文对PKI技术进行了全面的分析…

html 禁止缩放 ios10,完美解决ios10及以上Safari无法禁止缩放的问题

完美解决 ios10 及以上 Safari 无法禁止缩放的问题转载自掘金-互联网学徒移动端web缩放有两种&#xff1a;双击缩放双指手势缩放在 iOS 10之前&#xff0c;iOS 和 Android 都可以通过一行 meta 标签来禁止页面缩放&#xff1a;但 iOS 10开始&#xff0c;meta 设置在 Safari 内无…

SCRT软件的使用教程

以下内容源于网络资源的学习与整理&#xff0c;如有侵权请告知删除。 SCRT软件下载&#xff1a;提取码1234 快速链接的步骤与设置 先选择“快速链接”&#xff1b; 然后协议选serial&#xff0c;端口在设备管理器中查看&#xff08;我的是com3&#xff09;&#xff0c;波特率…

KEIL4.12中添加ULINK2的支持

转载自&#xff1a;http://www.amobbs.com/thread-4767650-1-1.html 如果你用KEIL4.12&#xff0c;但却没有Ulink2下载器&#xff0c;只有早先用的Ulink下载器&#xff0c;那么你按照下面三步升下级就可以了....三步&#xff1a;1.把‘keil-ulink升级至ulink2的文件’解压缩后拷…

解决Vmware中安装Ubuntu Server 14.04 分辨率无法全屏问题

2019独角兽企业重金招聘Python工程师标准>>> We will have to edit grub configuration. Open a terminal and paste this: sudo gedit /etc/default/grub Hit Enter. It will open grub preferences in Gedit.Locate the line # GRUB_GFXMODE800x600 (resolution m…

GCC编译器的相关内容

本文摘录与整理于C语言中文网的相关内容&#xff0c;仅用于学习&#xff0c;如有侵权请告知删除。 原内容网址&#xff1a;C语言中文网&#xff1a;C语言程序设计门户网站(入门教程、编程软件) GCC官方文档网址&#xff1a;Top (Using the GNU Compiler Collection (GCC)) 1、…

计算机用户登录设置成2000,2008计算机等级考试:Windows2000系统选项设置

在Windows 2000 Server中&#xff0c; 用户除了可以进行前面章节中介绍的系统设置&#xff0c;还可以在系统中进行一些其他的设置&#xff0c;包括新建、编辑、删除用户及系统变量&#xff0c;设置默认启动系统及故障恢复选项&#xff0c;查看系统性能等。本节便来介绍一些比较…

成都电讯学院研发的计算机,成都电讯工程学院

[拼音]&#xff1a;chengdu dianxun gongcheng xueyuan[外文]&#xff1a;Chengdu Institute of Telecommunication中国一所以培养电子科学技术人才为主的多科性理工科高等学校。1956年9月创建于四川成都。建院初仅设4个专业。1984年&#xff0c;学校设12个系(26个专业)&#x…

Linux系统以源码方式安装软件的方法

以下内容源于网络资源的整理&#xff0c;如有侵权请告知删除。 Linux系统中安装软件的三种方法_馨若梦的博客-CSDN博客_linux怎么安装软件 Linux下源码编译安装详解_Zebul博的博客-CSDN博客_编译安装 Linux源码包的一般安装步骤_Kaiattrib的博客-CSDN博客_linux源码包安装步…

hdu4565之矩阵快速幂

So Easy! Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 813 Accepted Submission(s): 226 Problem Description A sequence S n is defined as: Where a, b, n, m are positive integers.┌x┐is the ceil …

Red Hat Enterprise Linux Server release 7.0双系统安装

2019独角兽企业重金招聘Python工程师标准>>> Red Hat Enterprise Linux Server release 7.0双系统安装 1.RedHat 公司的企业版7.0已经发布了。下面介绍一下在7.0下装双系统的步骤。 安装前系统&#xff1a;WIN7 要安装的第二个系统:RedHat Enterprise 7.0 请注意&am…

Android的按钮单击事件及监听器的实现方式

2019独角兽企业重金招聘Python工程师标准>>> 第一种&#xff1a;匿名内部类作为事件监听器类 大部分时候&#xff0c;事件处理器都没有什么利用价值&#xff08;可利用代码通常都被抽象成了业务逻辑方法&#xff09;&#xff0c;因此大部分事件监听器只是临时使用一…

Sublime text在Linux下的安装与配置

以下内容源于网络资源的整理&#xff0c;如有侵权请告知删除。文章内容主要整理源&#xff1a;C语言中文网&#xff1a;C语言程序设计门户网站(入门教程、编程软件)。 一、安装Sublime text 安装方法有两种&#xff1a;利用软件包管理工具安装&#xff0c;利用下载好的软件包进…

在Spring中使用JTA事务管理

2019独角兽企业重金招聘Python工程师标准>>> Spring 通过AOP技术可以让我们在脱离EJB的情况下享受声明式事务的丰盛大餐&#xff0c;脱离Java EE应用服务器使用声明式事务的道路已经畅通无阻。但是很大部分人都还认为脱离Java EE应用服务器就无法使用JTA事务&#x…

第一季7:海思的根文件系统的概览与制作

一、根文件系统理论 关于根文件系统的原理&#xff0c;可以参看以下博客。 根文件系统的原理 使用BusyBox制作根文件系统的理论分析 二、海思的根文件系统 1、海思的根文件系统体现在Hi3518E_SDK_V1.0.3.0\package\rootfs_uclibc目录。 而根文件系统大部分工作由etc/init.d/…

第一季8:完整版(即包含mpp)根文件系统的制作

以下内容源于朱有鹏嵌入式课程的学习与整理&#xff0c;如有侵权请告知删除。 一、概述 mpp是海思编写的与视频编解码有关的驱动、库等内容。我们需要部署这些内容&#xff0c;也就是把这些内容放在合适的目录位置。 二、mpp的目录结构 mpp目录位于Hi3518E_SDK_V1.0.3.0\pack…

计算机三级会保研加分吗,366所高校有保研资格,除了对成绩有要求外,还有哪些要求?...

文&#xff5c;冷丝栏目&#xff5c;考研录取我国本科院校有1000余所&#xff0c;具有保研资格的高校有366所&#xff0c;这些高校也是在不同年份按照不同批次获得保研资格。(本文文末附录全部高校名单)推免制度最初的目的上为了提高招生工作的质量&#xff0c;并且加大培养拔尖…