1. 程式人生 > >騰訊 正式考-技術研發類-綜合-2019校園招聘-2018.09.16

騰訊 正式考-技術研發類-綜合-2019校園招聘-2018.09.16

1-1.jpg
1-2.png
這道題有點難理解,是Topcoder SRM 661 (Div.1) 250 MissingLCM – 數論原題
點選檢視題解

程式碼:

#include <bits/stdc++.h>

using namespace std;
int MAX(int a, int b){
    return a > b ? a : b;
}
vector<int> primes(int n){//得到小於n的質數陣列
    vector<int> res;
    vector<bool> arr(n+1, false);
    for
(int i = 2; i <= n; i++){ if(!arr[i]){ for (int j=2*i; j<=n; j+=i) arr[j] = true; res.push_back(i); } } return res; } int exponent(int a, int b){//求指數 int res = 0; while(a%b == 0){ a /= b; res++; } return
res; } int getMin(int n){ int res = 2; vector<int> arr = primes(n); for(int i=0; i<arr.size(); i++){ int maxExponent = 0; int temp = arr[i]; while(temp <= n) { maxExponent = MAX(maxExponent, exponent(temp, arr[i])); temp += arr[i]; } while
(exponent(temp, arr[i]) < maxExponent){ temp += arr[i]; } res = MAX(res, temp); } return res; } int main() { int n; cin >> n; cout << getMin(n) << endl; return 0; }

2-1.png
2-2.png
當時沒做出來,只30%通過率,後來用佇列加以改進,自己的測試樣例沒問題,只是沒有提交
計算出度和入度主要是不僅需要計算緊緊相連的點,還需要計算間接相連的點
visit陣列統計已經記錄過得節點,防止自環陷入死迴圈

程式碼:

#include <iostream>
#include <vector>
#include <algorithm>
#include <map>
#include <queue>
using namespace std;
struct GraphNode{
     int label;
     vector<GraphNode *> neighbor;//節點能夠直接到達的城市 直接出度
     vector<GraphNode *> gety;//能夠直接到達該節點的城市 直接入度
     GraphNode(int x) : label(x) {};
};
//利用佇列計算節點出度
int get_x(vector<GraphNode *> graph, int i, vector<int> visit){
     visit[i] = 1;
     int counts = 0;
     queue<GraphNode *> data;
     data.push(graph[i]);
     while(!data.empty()){
         GraphNode *p = data.front();
         data.pop();
         for(int j=0; j < p->neighbor.size(); j++){
             if(visit[p->neighbor[j]->label] == -1){
                 data.push(graph[p->neighbor[j]->label]);
                 visit[p->neighbor[j]->label] = 1;
                 counts++;
             }
         }
     }
    return counts;
}
//利用佇列計算節點入度
int get_y(vector<GraphNode *> graph, int i, vector<int> visit){
     visit[i] = 1;
     int counts = 0;
     queue<GraphNode *> data;
     data.push(graph[i]);
     while(!data.empty()){
         GraphNode *p = data.front();
         data.pop();
         for(int j=0; j<p->gety.size(); j++){
             if(visit[p->gety[j]->label] == -1){
                 data.push(graph[p->gety[j]->label]);
                 visit[p->gety[j]->label] = 1;
                 counts++;
             }
         }
     }
     return counts;
}
int fun(vector<GraphNode *> graph, vector<int> visit){
     int result = 0;
     for(int i=0; i<graph.size(); i++){
         int x = get_x(graph,i,visit);//計算節點出度
         int y = get_y(graph,i,visit);//計算節點入度
         cout << x << " " << y << endl;
         if(x < y)
             result++;
     }
     return result;
}
int main()
{
    int n, m;
    vector<pair<int,int>> data;
    cin >> n >> m;
    for(int i=0; i<m; i++){
        int a, b;
        cin >> a >> b;
        data.push_back(make_pair(a, b));
    }
    vector<GraphNode *> graph;
    vector<int> visit;//記錄已經遍歷過的節點
    for(int i=0; i<n; i++){
        graph.push_back(new GraphNode(i));
        visit.push_back(-1);
    }
    for(int i=0; i<data.size(); i++){
        int begin = data[i].first;
        int end = data[i].second;
        graph[begin-1]->neighbor.push_back(graph[end-1]);
        graph[end-1]->gety.push_back(graph[begin-1]);
    }
    int res = fun(graph, visit);
    cout << res;
}

3-1.png
3-2.png
直接暴力了。。。

#include <bits/stdc++.h>

using namespace std;
int n;
bool foo(vector<int>& arr) {
    for(int i = 1; i < 80; ++i){
        if((arr[0]*i) % arr[1] != arr[2])
            continue;
        return true;
    }
    return false;
}

int main()
{
    cin >> n;
    vector<vector<int>> arr(n);
    int temp;
    for(int i=0; i<n; ++i){
        for(int j=0; j<3; ++j){
            cin >> temp;
            arr[i].push_back(temp);
        }
    }
    for(int i=0; i<n; ++i){
        if(foo(arr[i]))
            cout << "YES" << endl;
        else
            cout << "NO" << endl;
    }
    return 0;
}

相關推薦

正式-技術研發-綜合-2019校園招聘-2018.09.16

這道題有點難理解,是Topcoder SRM 661 (Div.1) 250 MissingLCM – 數論原題 點選檢視題解 程式碼: #include <bits/stdc+

模擬筆試——技術研發——綜合(乾貨!!試題分享~~)

不定向選擇 14       程式設計 1           時長 1h  時間:2018.8.31  20:30——21:30 1.提升網路後臺系統性能() A.資料庫單獨部署 B.負載均衡部署 C.增加快取 D.增加備份裝置 2.提高系統對請求的併發

正式加入AI戰團,小微首款應用曝光!

騰訊小q機器人第二代6月21日-22日,騰訊雲+未來峰會在深圳盛大召開。會上,騰訊雲首次發布“AI即服務”戰略新品“智能雲”,將騰訊在計算機視覺、自然語言處理、語音識別等領域的三大核心AI能力開放給更多企業和機構。騰訊雲將開放騰訊的計算機視覺、智能語音識別、自然語言處理三大核心能力。截至目前,騰訊雲圍繞這三大

正式加入OCP陣營,擁抱全球開源生態圈

term min rgb 基金 關於 linu 1.7 wid ado 近日,騰訊正式加入OCP開放計算項目。後續,騰訊將加強與社區成員在數據中心、網絡、服務器等方面的技術交流和聯動,推動基礎設施的跨企業開發以及軟硬件前沿技術的普及。OCP是開源計算項目Open Compu

使用語音合成技術生成有聲書

ise 調用接口 enc 廣告 get stream mar cer decode   背景:不知是否在博客園看到的騰訊雲平臺廣告,被AI接口幾個項目吸引住了,其中有個 語音合成  接口在這裏安利一下,還挺好玩。這個接口提供將一段文字轉換成語音的功能,支持中文、英文,遺

正式開源高效能的圖片框架 LKImageKit

開源最前線 猿妹編譯 素材來自:騰訊開源、GitHub等 近日,騰訊又有新的開源專案啦,高效能的圖片框架 LKImageKit 正式開源 圖片框架 LKImageKit 授權協議:BSD 開發語言:Objective-C 作

2018移動遊戲技術評審標準與實踐案例》開放下載

進入2018年,中國移動遊戲市場增速放緩,競爭愈發激烈;同時現象級手遊層出不窮,手遊精品化趨勢更加明顯,對移動遊戲研發質量也提出了更高的要求。   在此背景下,騰訊遊戲學院彙集騰訊互娛技術團隊多年積累的技術評審標準和專案實踐經驗,系統化整理成冊,正式釋出《2018騰訊移動遊戲技術評審標

讀《2018移動遊戲技術評審標準與實踐案例》簡記

最近,騰訊遊戲學院放出了《騰訊移動遊戲技術評審標準與實踐案例》。 正好最近不忙,就找時間通讀一遍。記錄一下有用的知識點。 鑑於書內容較多,所以拆分為多篇部落格。 標題好長,改為:2018騰訊移動遊戲實踐經驗。(實際上,書中評審標準就一張表。。) 目錄: 一、2018騰訊移動遊戲實

2018後臺開發技術崗社招面經-順利拿到offer

       公眾號:內推派,歡迎大家一起學習交流。作者從事後臺web伺服器開發,主要在linux上使用C語言程式設計。畢業後在公司負責CDN快取元件開發,2.5年工作經驗。文章介紹了在騰訊面試過程和心得,希望對相關工作的小夥伴有所幫助,大家一起學習進步。本文主要分以下3個部

正式宣佈:1月1日起Web QQ正式下線,網友:別關閉QQ空間!

對我們這些90後、80後來說,QQ陪伴了我們數十年,從當時直板手機只能聊天和刷空間,到機房登入網頁QQ,再到現在人人手機電腦中都會會安裝的 軟體,QQ承載了我們太多的回憶。 而自從微信越來越普及,使用QQ的人越來越少了,主要都是學生,更別說網頁版了,也許現在已經有很多人都不知道QQ還有網頁

正式釋出《區塊鏈方案白皮書》5大行業應用即將全面爆發

關注ITValue,檢視企業級市場最新鮮、最具價值的報道!日前,騰訊正式釋出了區塊鏈方案白皮書,

MIG實習技術成長日記集

由於各種原因,可能存在諸多不足,歡迎斧正!     有幸在這樣一家國內頂級的網際網路公司實習,由於在校期間主要時間都投在ACM上,對於windows程式設計比較生疏,工作方面職位為PC客戶端開發,所以職場導師推薦了基本專業書籍,在完成自己的任務之餘,我把時間放

從自主可控金融級數據庫看“智能+”技術中臺之路

shadow watermark 開源數據庫 過多 定制化 對數 大會 內核 可能 作為“互聯網+”和“智能+”的主要技術供應商,騰訊在2017年11月的全球合作夥伴大會上提出了“雲化”已經成為重要的創新模式,各行各業都將進入“互聯網+”的下一站——“智能+”階段。在此過程

2019阿里、等大廠技術面試題目彙總

Github地址:https://github.com/0voice/interview_internal_reference

正式開源圖計算框架Plato,十億級節點圖計算進入分鐘級時代

騰訊開源再次迎來重磅專案,14日,騰訊正式宣佈開源高效能圖計算框架Plato,這是在短短一週之內,開源的第五個重大專案。 相對於目前全球範圍內其它的圖計算框架,Plato可滿足十億級節點的超大規模圖計算需求,將演算法計算時間從天級縮短到分鐘級,效能全面領先領先於其它主流分散式圖計算框架,並且打破了原本動輒需要

百度,阿里,等網際網路公司,Java開發的最新招聘標準

金九銀十的跳槽熱潮已經過去了,在這兩個月的跳槽的旺季中,作為網際網路行業的三大巨頭,百度、阿里巴巴、騰訊對於網際網路人才有很大的吸引力,他們的員工也是眾多網際網路同行覬覦的資深工程師、管理者人選。 下面我總結了進入這三家公司你所需掌握的技能: 阿里巴巴篇 紮實的計算機專業基礎,包括演算法

2018.09.16(八校聯

T1 考試時用了個神學做法水了85分,um其實和標答也就一個vecto/set的區別,資料可能是腳造的8 先預處理翻轉前的固定點做字首和,然後列舉對稱軸,由內向外進行更新 然後就是,set的優先順序和priority_queue相反的,然後過載運算子的時候不用反著來

深信服 2019校園招聘 研發試卷-2018.09.21

就做出來一道題,慚愧 感覺樣例第三個有問題 1 2 3 3 6 9 我覺得應該輸出1 1,可樣例輸出UNKNOWN 以下是錯誤程式碼,0% 實在找不到問題,,,GG #include &l

小米 2019校園招聘軟體開發-2018.09.20

最終沒時間提交了,自己寫的測試用例沒問題 思路: 將n進位制轉化為十進位制進行排序,找出單獨出現的數,並記錄字串下標 最終按照輸入字串的順序輸出 #include <bits/stdc++.h

研發筆試面試試題(C++方向)

1、C和C++的特點與區別? 答:(1)C語言特點: 1.作為一種面向過程的結構化語言,易於除錯和維護; 2.表現能力和處理能力極強,可以直接訪問記憶體的實體地址; 3.C語言實現了對硬體的程式設計操