2022年团体程序设计天梯赛-总决赛 L1 - L12_团体程序设计 超能力者大赛-程序员宅基地

技术标签: c++  深度优先  贪心算法  数据结构  


一、L1-1 今天我要赢?

直接上代码吧,不废话了

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define rep(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

signed main()
{
    
     
     cout << "I'm gonna win! Today!" << endl;
	 cout << "2022-04-23" << endl; 
    return 0;
}

二、L1-2 种钻石

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define rep(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

signed main()
{
    
    int a,b; cin >> a >> b; 
    cout << a / b << endl;

    return 0;
}

三、L1-3 谁能进图书馆

简单的模拟,关键是不要漏掉情况

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define read(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)



signed main()
{
    
  
    int jr,pt,a1,a2; cin >> jr >> pt >> a1 >> a2;
    
    if(a1 >= jr && a2 >= jr)
    {
    
    	 cout << a1 << "-Y " << a2 << "-Y" << endl;  
    	 cout << "huan ying ru guan" << endl;
	}
	else if(a1 < jr && a2 >= pt)// 有个人没到年龄 
	{
    
		cout << a1 << "-Y " << a2 << "-Y" << endl;
		cout << "qing 2 zhao gu hao 1" << endl;
	}
	else if(a1 >= pt && a2 < jr)
	{
    
		cout << a1 << "-Y " << a2 << "-Y" << endl;
		cout << "qing 1 zhao gu hao 2" << endl;
	}
	else if(a1 < jr && a2 < jr)
	{
    
		cout << a1 << "-N " << a2 << "-N" << endl;
		cout << "zhang da zai lai ba" << endl;
	}
	else if(a1 >= jr)
	{
    
		cout << a1 << "-Y " << a2 << "-N" << endl;
		cout << "1: huan ying ru guan" << endl;
	}
	else if(a2 >= jr)
	{
    
		cout << a1 << "-N " << a2 << "-Y" << endl;
		cout << "2: huan ying ru guan" << endl;
	}
    
   
  
    
    return 0;
}

四、L1-4 拯救外星人

递归

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define read(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

signed main()
{
    
  
   int a,b;	cin >> a >> b;
   int res = 1;
   for(int i = 1;i <= a + b;i ++ )
   res = res * i; 
   
   cout << res << '\n';

   
  
    
    return 0;
}

五、L1-5 试试手气

思维 第一次一定是到6,第二次一定是到5以此类推.。。
如果a[i] >= d[k],代表出问题了,第一个条件无法满足,中间肯定出现过已经出现过的数字了,所以再减去1即可

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define read(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

const int N = 1e5 + 1000;
int a[N],b[N];
signed main()
{
    
  
	for(int i = 1;i <= 6;i ++ ) cin >> a[i];
	for(int i = 1;i <= 6;i ++ ) b[i] = 6 - i + 1; // 第几次变成什么 
	
	int k; cin >> k;
	for(int i = 1;i <= 6;i ++)
	{
    
		
		if(a[i] >= b[k]) 
		{
    
			if(i != 6)
			cout << b[k] - 1 << ' ';
			else
			cout << b[k] - 1;
		}
	
		else
		{
    	if(i != 6)
			cout << b[k] << ' ';
			else
			cout << b[k];
		}
		
	} 
   	
  
    
    return 0;
}

六、L1-6 斯德哥尔摩火车上的题

简单字符串问题,直接复制题目的代码,修改一下即可

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define read(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

const int N = 1e5 + 1000;
signed main()
{
    
  
	string a,b,s1,s2;
	cin >> a >> b;
	
	
	for (int i = 1; i < a.size(); i++) 
  	if (a[i] % 2 == a[i-1] % 2) 
	s1 += max(a[i], a[i-1]);

	for (int i = 1; i < b.size(); i ++ ) 
  	if (b[i] % 2 == b[i-1] % 2) 
	s2 += max(b[i], b[i-1]);
	
	if(s1 == s2) cout << s1 << endl;
	else
	{
    
		cout << s1 << endl << s2 << endl;
	}
	
	return 0;
}

七、L1-7 机工士姆斯塔迪奥

用两个bool数组 来标记行和列不能选的状态,然后枚举每一个位置,如果行或者列被标记过,就跳过去 否则记录一下

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define read(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

const int N = 1e5 + 1000;
bool row[N],column[N];
signed main()
{
    
  	int n,m,q; cin >> n >> m >> q;
  	
  	while(q -- )
  	{
    
  		int op,x; cin >> op >> x;
  		if(op == 0) 
  		row[x] = true;
  		else
  		column[x] = true;
	}
	int ans = 0;
	for(int i = 1;i <= n;i ++ )
	{
    
		for(int j = 1;j <= m;j ++ )
		if(row[i] || column[j]) continue;
		else
		ans++;
	}
	
	cout << ans << endl;
	
	return 0;
}

八、L1-7 机工士姆斯塔迪奥

用一个结构题来排一下序列,如果这个PAT成绩是大于题目给定的值s的话,实际上就只占用一批,

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define read(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

const int N = 1e5 + 1000;
struct node
{
    
	int tts,pat;	
}e[N];
bool st[N];
bool cmp(node x,node y)
{
    
	if(x.tts != y.tts) return x.tts < y.tts;
	
	return x.pat > y.pat;
} 

signed main()
{
    

	int n,k,s; cin >> n >> k >> s;
	int cnt = 0; // 有多少个符合条件的 
	
	for(int i = 1;i <= n;i ++ )
	{
    
		int tts,pat; cin >> tts >> pat;
		if(tts < 175) continue;
		e[++cnt].tts = tts;
		e[cnt].pat = pat;
	}
	
	sort(e + 1,e + 1 + cnt,cmp); // 让天梯赛分数从小到大,让PAT分数从大到小 
	int ans = 0;// 记录被选的人数
	int res = 0;
	e[0].tts = -1;
	
	for(int i = 1;i <= cnt;i ++ )
	{
    
		if(st[e[i].tts]) continue;// 这个天梯赛分数不能再被选了 
		if(e[i].tts != e[i - 1].tts) res = 0; // 来一个新的天梯赛分数就更新res
		
		if(res < k)
		{
    
			if(e[i].pat < s)//这个需要消耗批次
			res++;
			
			ans++;
		}
		else
		{
    
			st[e[i].tts] = true;
			res = 0;
		}
		
		
	}
	
	cout << ans << endl;
	
	return 0;
}

九、L2-1 插松枝

模拟,有点细节需要注意,就是推送器上面的推完以后,还得考虑一下盒子里面的

#include<bits/stdc++.h>

using namespace std;

const int N = 1e3 + 100;
stack<int> res[N];
stack<int> box,pusher;
int a[N],cnt = 0;

int main()
{
    
	int n,m,k; cin >> n >> m >> k; 
	
	for(int i = 1;i <= n;i ++ ) cin >> a[i];
	for(int i = n;i >= 1;i -- ) pusher.push(a[i]); // 左边要是底部,所以要从后面往前面插入
	
	while(pusher.size()) // 推送器不空
	{
    
		int t = pusher.top();// 推送器顶端
		
		if(box.size() == 0)  // 小盒子如果是空的,那就拿推送器顶端的 
		{
    
			if(res[cnt].size() == 0) //如果这个还没有插树叶
			{
    
				res[cnt].push(t);
				if(res[cnt].size() == k) cnt++; // 不能插树叶,换一根树枝 
				pusher.pop();
			}
			else
			{
    
				if(t <= res[cnt].top()) // 如果符合条件 
				{
    
					res[cnt].push(t);
					if(res[cnt].size() == k) cnt++; // 不能插树叶,换一根树枝 
					pusher.pop();
				}
				else // 放入盒子里面 
				{
    
					box.push(t);
					if(res[cnt].size() == k) cnt++; // 不能插树叶,换一根树枝 
					pusher.pop();
				}
			}
			
		
		}
		else
		{
    
			int u = box.top(); // 先判断小盒子顶部,不符合再判断推送器顶部
			if(res[cnt].size() == 0) //如果这个还没有插树叶
			{
    
				res[cnt].push(u);
				if(res[cnt].size() == k) cnt++; // 树枝插满了,换下一根树枝 
				box.pop();
			}
			else
			{
    
			    int p = res[cnt].top();
			    if(res[cnt].size() == k) cnt++; // 树枝插满了,换下一根树枝 
			    
				if(u <= p)// 先判断小盒子顶部
				{
    
					res[cnt].push(u);
					if(res[cnt].size() == k) cnt++; // 树枝插满了,换下一根树枝 
					box.pop();
				}
				else if(t <= p)//再判断推送器顶部
				{
    
					res[cnt].push(t);
					if(res[cnt].size() == k) cnt++; // 树枝插满了,换下一根树枝 
					pusher.pop();
				}
				else // 放入小盒子顶部 
				{
    
					if(box.size() == m)// 小盒子已经满了,并且顶部不符合条件,再拿一个新树枝 
					{
    
						cnt++;
					}
					else
					{
    
						box.push(t);
						pusher.pop();
					} 
				}
			}
			
			
		} 
	} 
	while(box.size()) // 小盒子里面还有,清空小盒子里面的
	{
    
	    int u = box.top();
	    if(res[cnt].size() == 0)
	    {
    
	        res[cnt].push(u);
	        box.pop();
	    }
	    else if(u <= res[cnt].top())
	    {
    
	        res[cnt].push(u);
	        box.pop();
	    }
	    else
	    cnt++;
	    
	    if(res[cnt].size() == k)
	    cnt++;
	    
	}
	
	for(int i = 0;i <= cnt;i ++ )
	{
    
		int c[N],d = 0;
		while(res[i].size())
		{
    
			int q = res[i].top();res[i].pop();
			c[++d] = q;
		}
		
		for(int j = d;j >= 1;j -- )
		{
    
			if(j != 1)
			cout << c[j] << ' ';
			else
			cout << c[j] << endl;
		}
	} 
	
	return 0;
}

十、L2-2 老板的作息表

这个我的思路是,把他们全部变成秒,来判断,用一个结构体来存开始的秒,与结束的秒,再对结构体排序,如果某一个结束的秒与下一个开始的秒之间有距离就记录一下,然后输出

#include<bits/stdc++.h>

using namespace std;

const int N = 1e5 + 100;

struct node
{
    
    int st,ed;
}e[N];
bool cmp(node x,node y)
{
    
    if(x.st != y.st)
    return x.st < y.st;
    
    return x.ed < y.ed;
}
int main()
{
    
    int n; scanf("%d",&n);
    for(int i = 1;i <= n;i ++ )
    {
    
        int stx,stm,sts,edx,edm,eds;
        scanf("%d:%d:%d - %d:%d:%d", &stx,&stm,&sts,&edx,&edm,&eds);
        
        int st = (stx * 60 + stm) * 60 + sts;
        int ed = (edx * 60 + edm) * 60 + eds;
        e[i] = {
    st,ed};
    }
    
    sort(e + 1,e + 1 + n,cmp);
    
	e[n + 1].st = (23 * 60 + 59) * 60 + 59;
	e[n + 1].ed = (23 * 60 + 59) * 60 + 59;
	int st = 0,ed = 0;
	for(int i = 1;i <= n + 1;i ++ )
	{
    
	       if(ed < e[i].st)
	       {
    
	           int stx,stm,sts,edx,edm,eds;
	           
	           stx = ed / 3600;
	           stm = (ed - stx * 3600) / 60;
	           sts = ed - stx * 3600 - stm * 60;
	           
	           edx = e[i].st / 3600;
	           edm = (e[i].st - edx * 3600) / 60;
	           eds = e[i].st - edx * 3600 - edm * 60;
	           
	           printf("%02d:%02d:%02d - %02d:%02d:%02d\n",stx,stm,sts,edx,edm,eds);
	          
	       }
	       st = e[i].st;
	       ed = e[i].ed;
	}
	
	return 0;
}

十一、L2-3 龙龙送外卖

dfs + 贪心,就是最长的路就是走一遍就好,其他路走两遍,因为有一个来回, 我们可以让所有的路走两遍,最后减去最长的路的步数。从当前节点一直往上走,直到找到根节点或者找到被标记过的节点,就结束递归

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define rep(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

const int N = 1e5 + 1000;
bool st[N]; // 被走过了就标记一下
int d[N],fa[N];// fa[i] 就是i的父节点是谁,
vector<int> res[N];
int ans;
int n,q,root;
void dfs1(int u,int depth) // 预处理一下每一个节点在第几层
{
    
    int len = res[u].size() - 1;
    rep(i,0,len)
    {
    
        int j = res[u][i];
        dfs1(j,depth + 1);
    }
    
    d[u] = depth;
}
void dfs2(int u)
{
    
    if(st[u] || u == root ) return;
    st[u] = true;
    ans += 2;
    dfs2(fa[u]);
    
}

signed main()
{
    
    cin >> n >> q;
    for(int i = 1;i <= n;i ++ )
    {
    
        int x;  cin >> x;
        if(x == -1)
        {
    
            root = i;
            fa[i] = i;
        }
        else
        {
    
            res[x].pb(i);
            fa[i] = x;// 这个因为只有一个双亲,所以用一个就行了
        }
        
    }
    dfs1(root,1);
   
   
    int mx = -1; // 最大深度
    while(q -- )
    {
    
        int x; cin >> x;
        if(st[x]) cout << ans - mx + 1<< endl;// 如果出现过
        else
        {
    
           	mx = max(d[x],mx);	 
            
            dfs2(x);
			cout << ans - mx + 1 << endl;
        }
    }
    
    
    return 0;
}

十二、L2-4 大众情人

典型的Floyd求最短路,需要注意的是 假如两个节点 a - > b 是 1,那 b- > a 可不是1 ,也就是说这是一个有向图,最后注意 因为是 要找 异性缘最大的,所以枚举每一个男人,判断枚举每一个女人对男人的距离感,取最大值,同理,对于女人也一样

#include<bits/stdc++.h>
#define int long long

using namespace std;
typedef pair <int, int> PII;

#define endl '\n'
#define fi first
#define se second
#define ppb pop_back
#define pb push_back
#define ios ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)

#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define mem(x, a) memset(x, a, sizeof x)
#define rep(i, l, r) for(int i = l; i <= (r); ++ i)
#define per(i, r, l) for(int i = r; i >= (l); -- i)
#define reps(i, l, r, d) for(int i = l; i <= (r); i += d)
#define pers(i, r, l, d) for(int i = r; i >= (l); i -= d)

const int N = 1550;
vector<int> man,woman;
int d[N][N];
int n;
struct node
{
    
    int id;
    int dis;
}e[N],e2[N];

bool cmp(node x,node y)
{
    
    if(x.dis != y.dis) return x.dis < y.dis;
    
    return x.id < y.id;
}

void floyd()
{
    
    rep(k,1,n)
    {
    
        rep(i,1,n)
        {
    
            rep(j,1,n)
            d[i][j] = min(d[i][j],d[i][k] + d[k][j]);
        }
    }
}
signed main()
{
    
     
     scanf("%lld",&n);
     memset(d,0x3f,sizeof d);
     rep(i,1,n)
     {
    
         rep(j,1,n)
         if(i == j)
         d[i][j] = 0;
     }
     
     for(int i = 1;i <= n;i ++ )
     {
    
         char sex;cin >> sex;
         int k; scanf("%lld",&k);
         
          if(sex == 'F') woman.pb(i);
          else man.pb(i);
         
         rep(j,1,k)
         {
    
             int id,dis; scanf("%lld:%lld",&id,&dis);
             d[i][id] = min(dis,d[i][id]);
         }
         
     }
     floyd();
     
     int len = man.size();
     int cnt = 0,cnt2 = 0;
    
      rep(i,0,len - 1)
      {
    
         int len2 = woman.size();
         int mx = -1;
         rep(j,0,len2 - 1)
         {
    
             
             mx = max(mx,d[woman[j]][man[i]]);
         }
         e2[++cnt2] = {
    man[i],mx};
      }

     len = woman.size();
     rep(i,0,len - 1)
     {
    
         int len2 = man.size();
         int mx = -1;
         rep(j,0,len2 - 1)
         {
    
            
             mx = max(mx,d[man[j]][woman[i]]);
         }
         e[++cnt] = {
    woman[i],mx};
     }
     
     sort(e + 1,e + 1 + cnt,cmp);
     sort(e2 + 1,e2 + 1 + cnt2,cmp);
     
     cout << e[1].id;
     rep(i,2,cnt)
     if(e[i].dis == e[1].dis)
     cout << ' ' << e[i].id;
     else
     break;
     
     cout << endl;
     
     cout << e2[1].id;
     rep(i,2,cnt2)
     if(e2[i].dis == e2[1].dis)
     cout << ' ' << e2[i].id;
     else
     break;
     
     cout << endl;
     
    return 0;
}

总结

**这次的天梯赛,说实话自己写的很不好,啥也不会也不愿意学,心态不行,心态出问题了,以后每天都要反思自己,别把自己当回事,有太多的人比你厉害的多,时刻题提醒自己永远是一个学习者.

关于这次天梯赛出的题,我自己有点感悟

1 就是这次出的题目是更加注重对细心的考察,有几道题就是如此,比如第一个那个插树叶的那道题,其实并不难,就是考察了很多细节,你仔细一点,一步一步写不要着急,应该能拿满分

2 自己打天梯赛太稳了,稳的状态下,就是慢,导致写完第二个25分的题,就剩下一点时间了,这个说好也不好,对于acm来说,稳一点是好的,因为提交错误会罚时,但是对于天梯赛来说,并不会算这个时间,所以这也是经验上的欠缺.(内部逻辑 == 还是自己太菜了,啥也不是)

3 就是最后剩下的时间有点着急了,就是心里面一直乱,没有办法保持一个平常心去打比赛,我觉得是这是兵家大忌(对于打acm的选手来说),因为打编程比赛,冷静是第一位的,自己平时的磨练还是不够,这点需要加强一下,(每天拿出两个小时来写一套cf),当成比赛一样

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_52255583/article/details/124432312

智能推荐

新的任务,新的挑战_表达挑战新任务-程序员宅基地

文章浏览阅读262次。 这个星期被安排进了新的项目,是手机银行的开发,人手不够,一个星期要完成详设,对我确实是个挑战。主要的困难可能在于功能说明书的不完全,很多功能不够明确,而且不够严谨,与需求的出入比较大。 商城的项目刚开始试开发,我完成了注册、登录、和购物车的基本功能,不过从我个人的感觉不适合用CTP来做这种软件的开发,因为这种商城本身的业务逻辑并不复杂,反而是频繁页面交互占了多数,_表达挑战新任务

oracle 11g客户端如何完全卸载-程序员宅基地

文章浏览阅读4.5k次,点赞2次,收藏24次。1、停用oracle服务:进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止2、在开始菜单中,找到Universal Installer,运行Oracle Universal Installer,单击卸载产品3、在产品清单窗口中,单击全部展开,除了OraDb11g_home1外,勾选其他项目,单击删除卸载完后,再删除:Ora..._如何卸载oracle11客户端

深圳Java培训:在Java中如何高效判断数组中是否包含某个元素_robotframework 数组 是否包含莫元素-程序员宅基地

文章浏览阅读91次。如何检查一个数组(无序)是否包含一个特定的值?这是一个在Java中经常用到的并且非常有用的操作。同时,这个问题在Stack Overflow中也是一个非常热门的问题。在投票比较高的几个答案中给出了几种不同的方法,但是他们的时间复杂度也是各不相同的。本文将分析几种常见用法及其时间成本。检查数组是否包含某个值的方法使用Listpublic static boolean useList(Strin..._robotframework 数组 是否包含莫元素

ElasticSearch简单使用总结_elasticsearch基本用法实验总结-程序员宅基地

文章浏览阅读478次。一、简介ElasticSearch是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful-web接口。ElasticSearch是面向文档的,这意味着它可以存储整个对象或文档,同时索引每个文档的内容使之可以被搜索(每个字段都拥有一个倒排索引),在ElasticSearch中,你可以对文档进行索引、搜索、排序、过滤,这正是它能够执行复杂的全文搜索的原因之一。上面是官话,选择使用es的一个很大原因就是pg库出现了查询性能瓶颈,由于历史原因,sql需要进行大量的_elasticsearch基本用法实验总结

基于Spring Boot的jpetstore项目分析-程序员宅基地

文章浏览阅读2.5k次,点赞6次,收藏15次。将原本MVC架构的jpetstore用Spring Boot重构。github 地址:https://github.com/SwordHarry/mypetstoreSpringBoot开发环境:IntelliJ IDEA集成框架:Spring Boot前端渲染工具:ThymeleafORM框架:Mybatis在此基本要求上实现的额外功能:1.添加验证码功能:在..._jpetstore

遥感影像云检测-传统方法-:Haze Optimized Transformation(HOT)方法-程序员宅基地

文章浏览阅读1.7k次。An image transform to characterize and compensate for spatial variationsin thin cloud contamination of Landsat images1.BackGround1.1.存在问题1.2.现有方法1.3.本文贡献2.HOT算法2.1.基本思路2.2.问题3.对云和气溶胶类型的敏感性1.BackGround1.1.存在问题即使在陆地卫星场景地理覆盖范围有限的情况下(例如185-185公里),感兴趣的时间窗口也_haze optimized transformation

随便推点

PHP开发炸鸡1(Call to undefined function pcntl_fork())_call to undefined function hyperf\di\scanhandler\p-程序员宅基地

文章浏览阅读4.5k次。背景:框架thinkphp5 ,php版本7.1.8,mamp需求:结合命令行和redis,redis执行队列任务,异步发送微信公众号模板消息。问题:在执行pcntl_fork函数时报出函数不存在的错误,由于我使用的开发环境是mamp,生成pcntl库是个漫长而且眼花缭乱的过程,于是趁着安装过程写下这片博客。期间曾经尝试原生编译php,发现各种库缺失(mac os),于是果断放弃!_call to undefined function hyperf\di\scanhandler\pcntl_fork()

忘记密码安全测试_“忘记我”和测试-程序员宅基地

文章浏览阅读333次。忘记密码安全测试 您的用户在您的Web应用程序上拥有个人资料。 通常,您应该给他们一种删除其个人资料的方法(至少这是欧洲法院的决定 )。 “简单”表示您需要一个/forget-me端点,该端点将删除当前用户的每条数据。 从数据库,文件存储,搜索引擎等。除了让用户至少部分控制自己的数据(是否可以决定是他们的决定)之外,这对开发人员也有好处。 除了包含大量模拟的孤立的单元测试之外,您还可以..._忘记密码的安全性相关的测试点

matlab读取wav文件出错,MATLAB读取wav文件-程序员宅基地

文章浏览阅读1k次。%读一个文件夹中的多个wav文件,然后拼接在一起clc;clear all;folder = 'D:/FFOutput/xiami/';files = dir([folder '*.wav']);%读取文件夹下的所有wav文件%files = dir(folder);%length(files)for i=1:length(files)file = [folder files(i).name];t..._matlab中wave文件无效

硬件编程和软件编程趋势_15种热门与非编程趋势-程序员宅基地

文章浏览阅读270次。硬件编程和软件编程趋势 在15种热门编程趋势中,有15种正在变冷 ,这是一种有趣的方法,它可以解决当今编程中的热点和不热点 。 简要介绍了编程的15个新趋势: 1)热门:预处理器–否:完整语言堆栈 如今的程序员并未创建新的编程语言。 他们更喜欢编写一个预处理程序,该预处理程序将新代码转换为具有丰富的库和API的旧代码。 例如,Groovy被创建为Java的简单版本,而没有过于坚持的标点符号..._硬件编程

Android 点击事件图示源码解析_android 点击事件源码分析-程序员宅基地

文章浏览阅读2.3k次。Android 点击事件图示源码解析。仅用于知识点简介,详细描述建议百度,主要是一些个人的理解总结,可以在面试时来回答,所以并不是很详细,只是总结~_android 点击事件源码分析

【Video】音视频领域知识_怎么看一个视频有没有音频-程序员宅基地

文章浏览阅读912次。http://blog.csdn.net/leixiaohua1020/article/details/18893769_怎么看一个视频有没有音频

推荐文章

热门文章

相关标签