1. 程式人生 > 實用技巧 >iOS 播放音訊的幾種方法

iOS 播放音訊的幾種方法

2.Sequential Nim

博弈

全程都在想奇偶,結果是大於1和等於1的關係

#include<bits/stdc++.h>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
const int N=2e5+2;
typedef long long ll;
const ll inf=1e18;
int tpflag;
int n,k;
int tp[N];
int a[N];
queue<int>q;
vector<int>son[N];
int ans; int main() { int t;cin>>t; while(t--) { int n;cin>>n; int endd=1,flag=0,ans=0; for(int i=0;i<n;i++) { cin>>a[i]; if(a[i]>1&&flag==0) { ans++; if(ans%2==0
) endd=2; else endd=1; flag=1; } else if(a[i]==1&&flag==0) { ans++; if(ans%2==0) endd=2; else endd=1; } } if(endd==1)printf("First\n"); else
printf("Second\n"); } }

S

1.C1 - Prefix Flip (Easy Version)

#include<bits/stdc++.h>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
const int N=2e5+2;
typedef long long ll;
const ll inf=1e18;
int tpflag;
int n,k;
int tp[N];
int a[N];
queue<int>q;
vector<int>son[N];
int ans;
int main()
{
    int t;
   cin>>t;
 
   while(t--)
   {
 
      int n;
      string s1,s2;
      cin>>n>>s1>>s2;
      int cnt=0;
      for(int i=0;i<n;i++)
      {
          if(s1[i]!=s2[i])
          {
            a[++cnt]=i+1;
            a[++cnt]=1;
            a[++cnt]=i+1;
          }
      }
      cout<<cnt<<' ';
      for(int i=1;i<=cnt;i++)
        cout<<a[i]<<' ';
      cout<<endl;
 
 
 
   }
    return 0;
}

C2 - Prefix Flip (Hard Version)

思維題

#include<bits/stdc++.h>
#include<queue>
#include<vector>
using namespace std;
typedef long long ll;
const int N=2e5+2;
typedef long long ll;
const ll inf=1e18;
int tpflag;
int n,k;
int tp[N];
char a[N],b[N];
queue<int>q;
vector<int>son[N];
int ans;
int main()
{
    int t;cin>>t;
    while(t--)
    {
        int n;cin>>n;
        cin>>a+1;cin>>b+1;
        int l=1,r=n,fg=0;
        for(int i=n;i>=1;i--)
        {
            if(fg==0)
            {
                if(a[r]==b[i])
                {
                    r--;continue;
                }
                if(a[l]==b[i])
                    q.push(1);
                q.push(i);
                l++;
                fg=1;
            }
            else
            {
                if(a[l]!=b[i])
                {
                    l++;continue;
                }
                if(a[r]!=b[i])
                    q.push(1);
                q.push(i);
                r--;
                fg=0;
            }
        }
        printf("%d ",q.size());
        while(!q.empty())
        {
            printf("%d ",q.front());
            q.pop();
        }
        printf("\n");
    }
}